自定义UIButton + subviews =无事件

时间:2010-04-27 21:24:59

标签: objective-c iphone uibutton

基本上我有一个自定义UIButton,这个自定义按钮包含子视图。如果我将这些子视图添加到我的UIButton,则按钮会停止响应事件更改。即如果我点击它它就不会响应选择器。我将所有内容设置为userInteractionEnabled。我也试过添加touchbegan,这是有效的。如果删除这些子视图,UIButton将再次运行。

如何从按钮获取点击事件?

1 个答案:

答案 0 :(得分:58)

子视图的userInteractionEnabled设置为NO。这里发生的是子视图获取触摸事件而不是UIButton。如果这不起作用,则另一个选项是覆盖自定义UIButton中的hitTest:withEvent:,以便它始终返回自身,并且不询问其子视图是否应该处理该事件。有关详细信息,请参阅UIView docs