【问题标题】:Gesture Recognizer Blocking TouchesEnded手势识别器阻止触摸已结束
【发布时间】:2013-12-02 10:53:18
【问题描述】:

在我的应用程序中,用户点击 3 次,然后使用 drawRect 绘制一个角度。直到最近,这曾经完美地工作。我在父视图中添加了一个手势识别器,一个 uiview,(绘图发生在这个视图的一个子视图上,一个子类的 uiview)。现在,当我点击时,绘图子类不会调用 touches end,但是如果我移动手指,子类会调用 touchesMoved。我知道问题出在父级的手势识别器上,因为当我删除它时,一切都会恢复正常。为什么会这样?任何意见将不胜感激,谢谢。

【问题讨论】:

    标签: ios objective-c cocoa-touch uigesturerecognizer drawrect


    【解决方案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 导致了这个问题。删除它,我是金色的。
    猜你喜欢
    • 2018-08-19
    • 2018-12-31
    • 1970-01-01
    • 1970-01-01
    • 2018-05-07
    • 2017-04-23
    • 2018-09-14
    • 1970-01-01
    • 2013-05-28
    相关资源
    最近更新 更多