手势识别器阻止触摸已结束
Posted
技术标签:
【中文标题】手势识别器阻止触摸已结束【英文标题】:Gesture Recognizer Blocking TouchesEnded 【发布时间】:2013-12-02 10:53:18 【问题描述】:在我的应用程序中,用户点击 3 次,然后使用 drawRect 绘制一个角度。直到最近,这曾经完美地工作。我在父视图中添加了一个手势识别器,一个 uiview,(绘图发生在这个视图的一个子视图上,一个子类的 uiview)。现在,当我点击时,绘图子类不会调用 touches end,但是如果我移动手指,子类会调用 touchesMoved。我知道问题出在父级的手势识别器上,因为当我删除它时,一切都会恢复正常。为什么会这样?任何意见将不胜感激,谢谢。
【问题讨论】:
【参考方案1】:我遇到了类似的问题 - 我无法触摸按钮,但我设法使用以下代码对其进行了排序:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
// Replace to your view with button
if ((touch.view isDescendantOfView:YOURVIEW))
return NO;
return YES;
尝试将文本 YOURVIEW 替换为您遇到此问题的视图,并记住为您的手势识别器设置委托。
【讨论】:
嗯,没用.. 找到了不同的解决方法,仍然不知道为什么 touchesEnded 没有被调用.. 我的子类位于所有视图的顶部。编辑:问题是我将手势识别器设置为 self.primaryView.superview。 SUPERVIEW 导致了这个问题。删除它,我是金色的。以上是关于手势识别器阻止触摸已结束的主要内容,如果未能解决你的问题,请参考以下文章