我正在开发一个应用程序,其中大多数触摸手势都是平移手势(但我没有使用平移手势识别器)。我正在使用UIGestureRecognizerDelegate
和使用touchesBegan
, touchesMoved
,touchesEnded
和touchesCancelled
. 但是,屏幕上有几个位置,如果平移从那里开始,我想将其识别为点击事件。我可以通过简单地识别 touchesBegan 中的位置来做到这一点。我的问题是,我可以在那时解除触摸以防止锅的继续吗?如果平底锅从屏幕中的这个位置开始,则可以保证它不是用户真正想要的平底锅。我希望这是有道理的。
编辑:我已经意识到,即使对于一个应该被忽略的点,管理水龙头的额外开销也是微不足道的,所以我想我会这样做。不过,我会在这里保留这个问题,以防有办法阻止手势继续被跟踪。
我还需要关于如何处理以下情况的建议。
假设用户启动了一个平底锅(不是在刚刚描述的区域,而是在它真正打算成为平底锅的地方),并且当平底锅进行时,另一个平底锅在屏幕上的其他地方启动。我如何识别这种情况?
编辑:我现在正在测试这段代码是否能解决这个问题:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
return YES;
}
编辑:ARC 禁止显式释放,所以现在我将我的问题修改为更一般的问题,如果有的话,我可以做些什么来抑制进一步的行动。还是我只需要处理它?