我创建了两个滑动识别器:swipeRightRecognizer
& swipeLeftRecognizer
和一个捏识别器:pinchRecognizer
。
当我捏合/捏合时,夹点事件和向左滑动识别器事件都被捕获。
我试过了
[swipeLeftRecognizer requireGestureRecognizerToFail:pinchRecognizer];
[swipeRightRecognizer requireGestureRecognizerToFail:pinchRecognizer];
但它不起作用。
如果没有更好的方法,我打算赶上接触次数。我需要区分单指滑动与捏合。
是否有一种简单的方法可以区分捏合手势和滑动?
答案 0 :(得分:1)
According to the docs requireGestureRecognizerToFail:
表示第一个手势只是正常,如果第二个手势失败;所以在这种情况下,由于您还没有指定第二个手势失败的任何地方,第一个手势将失败,第二个手势将正常进行。这不是你想要的。
相反,您可以使用shouldBeRequiredToFailByGestureRecognizer:
UIGestureRecognizerDelegate
方法告诉滑动手势在捏合时失败,例如:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldBeRequiredToFailByGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
if ([gestureRecognizer isKindOfClass:[UISwipeGestureRecognizer class]] &&
[otherGestureRecognizer isKindOfClass:[UIPinchGestureRecognizer class]]) {
return YES;
}
return NO;
}