将触摸事件从视图传递到iPhone上的兄弟/子视图?

时间:2009-07-14 18:46:40

标签: iphone cocoa-touch uikit

我目前有1个UIView,我在那里进行自定义绘图。我想用另一个具有一些控件(标签,按钮等)的视图覆盖该视图。此叠加视图将是透明的,因此您可以看到图纸视图。

2个问题:

1)我应该将图纸视图作为叠加视图的兄弟或子项吗? 2)如果是孩子,触摸事件(转到按钮之外)会自动进入绘图视图吗?如果它是兄弟姐妹,你如何通过触摸事件?

感谢。

2 个答案:

答案 0 :(得分:1)

我不相信触摸事件会自动传递到另一个视图。你需要委托它,有很多方法可以做到这一点。可以使用ViewController在2个视图之间进行管理,从视图A向视图控制器提醒触摸事件并将其转发到视图B.如果要将两个视图紧密耦合,并且一个视图包含另一个视图,则视图接触时应该互相交谈以告知他们已经发生过(可能不是最好的编程实践)

答案 1 :(得分:0)

经过一些更多的实验,我发现如果我使用以下的hiearchy:

  • 叠加视图  |  ---按钮  |  ---绘图视图

按照该顺序 - 然后触摸事件选择正确的视图(即,如果被点击则传递给按钮的事件,如果被触摸则传递给图纸视图。