如何通过让子视图 UIButton 获取新闻事件?

Posted

技术标签:

【中文标题】如何通过让子视图 UIButton 获取新闻事件?【英文标题】:How to pass to let a subview UIButton get the press event? 【发布时间】:2012-01-20 06:00:14 【问题描述】:

我有一个带有点击手势的视图和一个带有相应操作的 UIButton。 问题是,如果我按下按钮,则不会调用相应的操作,而是调用点击处理程序。

如果点击在按钮上,我做了一个 hitTest 并阻止手势处理程序执行任何操作。

但我无法让按钮的动作做某事。

【问题讨论】:

【参考方案1】:

您可以将控制器类设置为 UIGestureRecognizer 的委托,然后实现此方法:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch 
     return [[touch view] isEqual:UIViewThatIsNotYourButton];

您的 hitTest 方法实际上应该实现这一点,因此您还可以检查 UIButton 是否真的获得了分配给它的操作。

【讨论】:

以上是关于如何通过让子视图 UIButton 获取新闻事件?的主要内容,如果未能解决你的问题,请参考以下文章

图像上的触摸事件,通过使用 UIButton 实现,但与 UIImageView 相比显示延迟

如何在自动布局视图中获取 UIButton 位置

向 UIButton 添加其他视图

UITableViewCell 中的 UIButton 是可点击的(获取正确的事件)但问题是点击效果不可见

Xamarin iOS Tap 事件通过最顶部的视图?

iOS UIButton 事件,当它的框架位于超级视图的负位置时