2010-05-06 65 views
3

我目前有一个UIControl,它有一些子视图(图像,标签)。iPhone UIControl和子视图

不幸的是,当我使用addTarget等。它不检测子视图触摸。

[myCustomView addTarget:self action:@selector(touchedView:) 
      forControlEvents:UIControlEventTouchUpInside]; 

UIControl是否可以检测子视图上的触摸或我应该以不同的方式接近它。

回答

0

您的方法调用是正确的。

myCustomView应该是被添加的图像或标签。

+0

,所以我不得不在遍历所有的子视图,并添加目标。 这也意味着他们也必须是UIControl的子类 – 2010-05-06 06:02:43

+0

“所以我必须遍历所有子视图并添加目标。”那是对的。我认为他们必须是UIView的子类,它们是UIControl的超类。 – 2010-05-06 06:18:06

0
[myCustomView setUserInteractionEnabled:YES]; 
21

只是注意,UIControl的所有子视图不应该接收触摸事件本身必须userInteractionEnabled设置为NO,而不是YES(这是默认值)。

所以你必须设置此上的所有标签,图像等

我只是碰到了这个,一段时间后:)想通了

+0

非常感谢你,我一直在寻找解决方案,但从未想过它会以这种方式结束。 – iwat 2010-12-14 06:41:21