我有一个项目,我开始使用轻拍手势识别器。我意识到我没有足够的控制使用轻敲手势识别器,所以我开始编写使用我的viewcontroller作为UIGestureRecognizerDelegate
。为了确保我走在正确的轨道上,我添加了touchesBegan
,touchesMoved
,touchesEnded
,touchesCancelled
的方法。除了NSLog
调用之外,这些方法都是空的,所以当我尝试不同的东西时,我可以告诉你什么是被解雇的。
事情按预期工作,除了我收到一堆关于touchesCancelled的电话。我认为这是因为我仍然使用了轻敲手势识别器。我还没有准备好删除轻敲手势识别器,所以我只是想确认如果我使用的手势实际上是一个水龙头会发生这种情况。
文档说:
当Cocoa Touch框架收到a时,将调用此方法 系统中断需要取消触摸事件;对于 这样,它会生成一个
UITouch
对象,其阶段为UITouchPhaseCancel
。中断可能会导致中断 应用程序不再处于活动状态或要从中删除的视图 窗口当对象收到touchesCancelled:withEvent:
消息时 它应该清理在其中建立的任何状态信息touchesBegan:withEvent:
实施。
但我怀疑我刚才概述的情景也是如此。我是对的吗?