有没有办法检测任何互动的开始和结束?我注意到有一些方法,比如touchesBegin和touchesEnd,但这些只适用于触摸事件。是否存在所有可能的交互方式,如平移,缩放,触摸等?
我只需要知道交互何时开始和结束。
答案 0 :(得分:0)
是的,您可以使用此代码:
if (sender.state == UIGestureRecognizerStateEnded)
或:
if (sender.state == UIGestureRecognizerStateBegan)
答案 1 :(得分:0)
最简单的方法是为你感兴趣的事件挂钩UIGestureRecognizer
子类:
UITapGestureRecognizer
UIPinchGestureRecognizer
UIRotationGestureRecognizer
UISwipeGestureRecognizer
UIPanGestureRecognizer
从那里开始,您可以检查识别器的状态,并在交互开始(UIGestureRecognizerStateBegan
)和结束时(UIGestureRecognizerStateEnded
,UIGestureRecognizerStateCancelled
或{{1})执行您需要的任何逻辑})。
您很可能希望使用一些互斥,以便在识别出第一种类型的手势时删除其他识别器,以确保它们不会踩到彼此的脚趾。然后,您可以在第一个识别的手势结束时重新添加所有这些手势。