基本上,我有一个自定义的UIButton,并且这个自定义按钮包含子视图。如果我将这些子视图添加到我的UIButton中,则该按钮停止响应事件更改。 也就是说,如果我点击它,它不会响应选择器。 我已经将所有设置为 userInteractionEnabled
。 我还尝试添加touchbegan,这也有效。 如果我删除那些子视图,则UIButton会再次正常工作。
我该如何从按钮获取点击事件?
基本上,我有一个自定义的UIButton,并且这个自定义按钮包含子视图。如果我将这些子视图添加到我的UIButton中,则该按钮停止响应事件更改。 也就是说,如果我点击它,它不会响应选择器。 我已经将所有设置为 userInteractionEnabled
。 我还尝试添加touchbegan,这也有效。 如果我删除那些子视图,则UIButton会再次正常工作。
我该如何从按钮获取点击事件?
子视图应将 userInteractionEnabled
设置为 NO
。这里发生的情况是,子视图获取了触摸事件,而不是 UIButton。如果这种方法不起作用,另一个选项是在自定义 UIButton 中覆盖 hitTest:withEvent:
方法,使其始终返回自身,并且不询问其子视图是否应处理该事件。有关更多详细信息,请参见UIView 文档。