【问题标题】:UIView Event Forwarding Infinite LoopUIView 事件转发无限循环
【发布时间】:2011-02-12 07:07:29
【问题描述】:

我创建了一个 UIView 子类,我在其中拦截所有触摸,检查某些条件,如果不满足,则将触摸转发到适当的子视图。问题是,如果子视图没有拦截触摸,它会直接转发到响应者链到我的视图,这里我将它back转发到子视图,依此类推。我怎样才能阻止这种情况发生?

【问题讨论】:

  • 你是如何转发触摸事件的?
  • 调用[super hitTest: withEvent:]获取合适的视图,如果不是self,调用[aView touchesMoved: withEvent:]

标签: cocoa-touch ios uiview multi-touch


【解决方案1】:

响应者链旨在将事件传递给超级视图。我会让子视图有选择地处理事件(检查相反的条件),以便在必须处理事件时将事件转发到超级视图。

但是,如果只有超级视图可以检查条件,子视图将必须处理超级视图发送的所有事件(至少不要调用将事件转发给超级视图的 UIView 的事件处理例程)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-27
    • 2021-07-24
    • 2017-12-24
    • 2014-12-04
    • 1970-01-01
    • 2011-10-10
    • 1970-01-01
    • 2011-04-10
    相关资源
    最近更新 更多