【问题标题】:How can I prevent clipped portions of subviews from still taking touch events?如何防止子视图的剪辑部分仍然发生触摸事件?
【发布时间】:2011-11-23 06:30:26
【问题描述】:

我目前正在父视图中剪辑一些 UIView,如下图所示:

问题在于,子视图的裁剪部分(不可见部分)仍在接收触摸事件,直观地说,这些触摸事件应该转到那里可见的其他视图。

我应该做些什么来实现这种行为,或者这实际上不是一件容易的事?

【问题讨论】:

    标签: iphone ios cocoa-touch ipad uikit


    【解决方案1】:

    发生这种情况是因为在这种情况下,父视图具有

    的自定义实现

    - (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event,

    它没有执行这个边界测试(我现在假设它是默认实现的一部分)。

    添加:

    if ([self pointInside:point withEvent:event]) {
        ....
    }
    

    围绕该实现中的代码解决了问题。

    【讨论】:

    • 它不会让我接受我自己的答案 2 天,但别担心,我打算!
    • 哦,我不知道存在限制。凉爽的。我给了你+1顺便说一句,在问题和答案b/c上我昨天遇到了一个非常相似的问题,所以我感谢你的帖子和回答。
    猜你喜欢
    • 2013-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-03
    • 1970-01-01
    • 2017-06-28
    相关资源
    最近更新 更多