检测 UIButton 触摸子视图

Posted

技术标签:

【中文标题】检测 UIButton 触摸子视图【英文标题】:Detecting UIButton touches on a subview 【发布时间】:2013-02-06 15:52:41 【问题描述】:

我添加了一个包含 UIButton 控件的子视图。此子视图以编程方式添加到其父视图。当点击此按钮时,我需要执行一个操作,但由于它包含在它自己的子视图中,我无法将 IBAction 连接到视图控制器以推送另一个视图控制器。

有没有一种简单的方法来检测按钮被点击并在其超级视图中调用方法?

【问题讨论】:

【参考方案1】:

您可以通过编程完成所有操作:

[buttonName addTarget:self action:@selector(methodName:) forControlEvents:UIControlEventTouchUpInside];

然后创建你的方法:

- (void)methodName:(id)sender

     // Do something.

这就是您需要编写的所有代码。

【讨论】:

感谢这完美的作品。我让事情变得更难了! 没问题,很高兴它有帮助!

以上是关于检测 UIButton 触摸子视图的主要内容,如果未能解决你的问题,请参考以下文章

为啥 UIView 的这些自动布局约束会阻止 UIButton 子视图接收触摸事件?

UITapGestureRecognizer 在子视图中阻止 UIButton 的触摸事件

未检测到 UIToolBar 上 UIToolBar 上的模态视图中的 UIButton 触摸未检测到

使用 UIButton 进行触摸检测

以编程方式将 UIButton 添加到 UINavigationBar 的子视图,并且触摸事件未注册

UIButton在添加到子视图时没有收到触摸,但在添加到主视图时会收到