任何互动的开始和结束

时间:2013-07-11 03:39:11

标签: ios objective-c

有没有办法检测任何互动的开始和结束?我注意到有一些方法,比如touchesBegin和touchesEnd,但这些只适用于触摸事件。是否存在所有可能的交互方式,如平移,缩放,触摸等?

我只需要知道交互何时开始和结束。

2 个答案:

答案 0 :(得分:0)

是的,您可以使用此代码:

 if (sender.state == UIGestureRecognizerStateEnded)

或:

 if (sender.state == UIGestureRecognizerStateBegan)

答案 1 :(得分:0)

最简单的方法是为你感兴趣的事件挂钩UIGestureRecognizer子类:

  • UITapGestureRecognizer
  • UIPinchGestureRecognizer
  • UIRotationGestureRecognizer
  • UISwipeGestureRecognizer
  • UIPanGestureRecognizer

从那里开始,您可以检查识别器的状态,并在交互开始(UIGestureRecognizerStateBegan)和结束时(UIGestureRecognizerStateEndedUIGestureRecognizerStateCancelled或{{1})执行您需要的任何逻辑})。

您很可能希望使用一些互斥,以便在识别出第一种类型的手势时删除其他识别器,以确保它们不会踩到彼此的脚趾。然后,您可以在第一个识别的手势结束时重新添加所有这些手势。