0

我将UIPanGestureRecognizer和UIPinchGestureRecognizer都添加到相同的视图。这通常不会引起任何问题,但对于3个手指和我的UIPanGestureRecognizer要求导致的问题:冲突的UIPanGestureRecognizer(3个手指)和UIPinchGestureRecognizer

UIPinchGestureRecognizer *pinchGesture = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(pinched:)]; 
[self.view addGestureRecognizer:pinchGesture]; 

UIPanGestureRecognizer panGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(panning:)]; 
panGesture.minimumNumberOfTouches = 3; 
panGesture.maximumNumberOfTouches = 3; 
[self.view addGestureRecognizer:panGesture]; 

偶尔,出锅时应该已经缩放手势将被调用。它在大约50%的时间内工作,但在同一个视图上实现这两个手势的更好方法是什么,所以准确性更好?

编辑:我只想要一次发生一个手势。

回答

0

设置手势代表自我和设置您的视图控制器来实现UIGestureRecognizerDelegate

并添加以下方法:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer 
{ 
    return YES; 
} 
+0

我只想要一次发生一个手势。 – Jordan

0

其他职位有一个错字,我认为,但使用此

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer 
{ 
    return NO; 
} 

并添加此项,以便其他手势在您要启动手势之前失败

requireGestureRecognizerToFail