手势方法(Pan Gesture和Swipe Gesture)之间是否有任何优先条件?

NIK*_*HIL 11 iphone uigesturerecognizer ios uiswipegesturerecognizer uipangesturerecognizer

我正在开发一个应用程序,我使用了Pan Gesture以及Swipe Gesture.因此,每次我执行Swipe Gesture时,Pan手势中的方法总是被调用,并且Swipe Gesture方法不会被调用.

所有的手势方法之间有没有优先权?

小智 14

您可以通过实现以下UIGestureRecognizerDelegate协议方法并行调用它们:

- (BOOL)gestureRecognizer:(UIPanGestureRecognizer *)gestureRecognizer 
shouldRecognizeSimultaneouslyWithGestureRecognizer:(UISwipeGestureRecognizer *)otherGestureRecognizer
{
    return YES;
}
Run Code Online (Sandbox Code Playgroud)


pic*_*ano 9

类上有一个UIGestureRecognizer名为"cancelsTouchesInView" 的属性,默认为YES.这将导致任何待处理的手势被取消.Pan手势首先被识别,因为它不需要具有"修饰"事件,因此它取消了滑动手势.

如果您想要识别两种手势,请尝试添加:

[yourPanGestureInstance setCancelsTouchesInView:NO];