iOS UIGestureRecognizer

我有两个问题:

  1. 我可以实现从UISwipeGestureRecognizerinheritance的手势识别器并向UIEvent处理程序添加逻辑吗?

  2. 我可以实现UIGestureRecognizer而不附加到UIView ? 意思是,我将分析和pipe理UIEvent事件并调用适当的select器( touchesBegantouchesMovedtouchesEndedtouchesCancelled )?

在此期间,当状态是UIGestureRecognizerStateEnded时,我有问题重置手势识别器。

你问:

我可以实现从UISwipeGestureRecognizerinheritance的手势识别器并向UIEvent处理程序添加逻辑吗?

是。 请参阅iOS事件处理指南中的创build自定义手势识别器 另请参阅WWDC 2010会话121 – 高级手势识别 。 但是,这可能取决于您想要执行的操作,而且您应该通过configuration标准轻扫手势的directionnumberOfTouches参数来查看是否可以完成所需的操作。 我已经在UIPanGestureRecognizer等连续手势上做了更多的子类UIPanGestureRecognizer ,但是我没有看到为什么你也不UIPanGestureRecognizer去做。

我可以实现UIGestureRecognizer而不附加到UIView ? 意思是,我将分析和pipe理UIEvent事件并调用适当的select器( touchesBegantouchesMovedtouchesEndedtouchesCancelled )?

不,显然你可以创build一个,但它只是不会收到任何事件,直到它被添加到一个UIView ,该视图接收触摸。

在此期间,当状态是UIGestureRecognizerStateEnded时,我有问题重置手势识别器。

你必须提交一个新的问题,提供相关的代码片段,以帮助我们。 一般来说,当你的处理程序被调用UIGestureRecognizerStateEnded (和UIGestureRecognizerStateCancelledUIGestureRecognizerStateFailed )时,你会做任何的后手势清理,当你接收到下一个UIGestureRecognizerStateBegan时,你会为下一个手势初始化所有的东西。