【问题标题】:How to recieve touches began event inside a subview?如何在子视图中接收 touchesbegan 事件?
【发布时间】:2011-04-12 10:49:41
【问题描述】:

我有一个包含两个子视图(普通 UIviews)的视图。父视图识别触摸事件,如 touchesbegan 、结束等,但子视图无法识别触摸事件。如何让它识别触摸事件。具体来说,我只需要子视图来识别触摸事件而不是父视图。提前致谢。

对于视图,UserInteractionEnabled 设置为 YES。

【问题讨论】:

    标签: iphone events touch gesture-recognition subviews


    【解决方案1】:

    有两种处理方法。

    1) 在视图控制器而不是视图中检测触摸。您应该能够确定哪个视图包含被触摸的点,并从中可以决定如何处理触摸(或者如果它不在任一视图中,则将其丢弃)。

    2) 创建 UIView 的子类并将它们添加到您的主视图中,而不仅仅是 UIViews。然后您可以检测子类内部的触摸并相应地处理它们。

    希望对您有所帮助。

    【讨论】:

    • 感谢您的回答。从您的第一点开始,如何通过触摸检测子视图,当它被另一个子视图重叠或隐藏时?
    • 这取决于你!您必须确保触摸在您想要的视图内,而不是在它上面的任何其他视图内:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-20
    • 1970-01-01
    相关资源
    最近更新 更多