我有一个项目,我开始使用点击手势识别器。我意识到我对点击手势识别器没有足够的控制,所以我开始使用我的 viewcontroller 作为UIGestureRecognizerDelegate
. 为了确保我走在正确的轨道上,我添加了touchesBegan
, touchesMoved
, touchesEnded
,的方法touchesCancelled
。除了NSLog
调用之外,这些方法都是空的,所以当我尝试不同的事情时,我可以知道正在触发什么。
事情按预期进行,只是我接到了一堆对 touchesCancelled 的调用。我认为这是因为我仍然有点击手势识别器。我还没有准备好删除点击手势识别器,所以我只是想确认如果我使用的手势实际上是点击会发生这种情况。
文档说:
该方法在Cocoa Touch框架接收到需要取消触摸事件的系统中断时调用;为此,它生成
UITouch
一个相位为 的对象UITouchPhaseCancel
。中断可能会导致应用程序不再处于活动状态或视图从窗口中移除。当对象接收到消息时,它应该清除在其实现touchesCancelled:withEvent:
中建立的任何状态信息 。touchesBegan:withEvent:
但我怀疑我刚才概述的情况同样可能。我对么?