iimが ジェスチャーの動作を与えるときにイメージビューのイメージの回転と移動をスケーリングしたときに、UIImageViewにジェスチャーを適用しようとしています。だから私は、画像を回転し、拡大縮小し、ある点から別の点に移動するのを見ることができます。2つのビューUIViewとUIImageViewを持つGestureRecognizerの問題
私は画像とズームレベルを最小にし、ジェスチャーアクションを与えるUIImageViewのスーパークラスであるUIViewをタッチすると、 UIImageViewでのみ動作する必要のあるジェスチャをUIViewに制限する方法。 Imageviewがビューの外に出る必要はありません。
-(void)InitGestures{
tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap:)];
tapRecognizer.numberOfTouchesRequired = 1;
templatePhotoPlaceholderView=[[UIView alloc]init];
templatePhotoPlaceholderView.clipsToBounds = YES;
//templatephotoplaceholder frame setting
[self templatePhotoPlaceholderFrameSetting];
templatePhotoPlaceholderView.backgroundColor=[UIColor colorWithRed:0.8823 green:0.8823 blue:0.8823 alpha:1];
[self photoView:templatePhotoPlaceholderView];
tapRecognizer.view.frame=templatePhotoPlaceholderView.frame;
[self photoButtonPlaceHolder:templatePhotoPlaceholderView];
[selectedTemplateImage addSubview:templatePhotoPlaceholderView];
[templatePhotoPlaceholderView addGestureRecognizer:tapRecognizer];
UIPanGestureRecognizer *panRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(move:)];
[panRecognizer setMinimumNumberOfTouches:1];
[panRecognizer setMaximumNumberOfTouches:1];
[panRecognizer setDelegate:self];
[templatePhotoPlaceholderView addGestureRecognizer:panRecognizer];
//[panRecognizer release];
UIPinchGestureRecognizer *pinchRecognizer = [[[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(scale:)] autorelease];
[pinchRecognizer setDelegate:self];
[self.view addGestureRecognizer:pinchRecognizer];
//[pinchRecognizer release];
[self.view addSubview:templatePhotoPlaceholderView];
[tapRecognizer release];
}
-(void)move:(UIPanGestureRecognizer *)gestureRecognizer
{
CGPoint translatedPoint = [gestureRecognizer translationInView:templatePhotoPlaceholderView];
if([gestureRecognizer state] == UIGestureRecognizerStateBegan) {
_firstX = [imageview center].x;
_firstY = [imageview center].y;
}
translatedPoint = CGPointMake(_firstX+translatedPoint.x, _firstY+translatedPoint.y);
[imageview setCenter:translatedPoint];
}
どのように指定された範囲で動画を制限するのか考えてください。 – user905582
あなたのスーパービューのフレームを制限するだけです – kiran