在文档Coordinating Multiple Gesture Recognizers中,它说:
UIKit通常一次只能识别一个手势 一个视图。 ...例如,在同时包含平移和滑动手势识别器的视图中,永远不会识别滑动。
话虽如此,也有一些例外。例如,在具有两个UITapGestureRecognizer
的视图中,both will get fired的动作。
有一种UIGestureRecognizerDelegate
方法gestureRecognizer(_:shouldRecognizeSimultaneouslyWith:)
在外部使用。但是系统内置的手势识别器(例如UITapGestureRecognizer
)如何在内部 决定是否与其他识别器配合使用?或者,在行为方面,连续手势识别器和离散手势识别器之间是否有区别?
答案 0 :(得分:0)
在决策过程中,UIGestureRecognizer
有两种有趣的方法,其中可以“防止”手势识别器:
通过调试UITapGestureRecognizer
,UISwipeGestureRecognizer
和UIPanGestureRecognizer
的子类,我发现:
当有多个手势识别器时,默认情况下,第一个识别其手势的手势会将其他识别器呈现为.failed
。
这解释了观察到的行为。