UIView ExclusiveTouch:UIBarButtonItem 的奇怪行为

Posted

技术标签:

【中文标题】UIView ExclusiveTouch:UIBarButtonItem 的奇怪行为【英文标题】:UIView exclusiveTouch: strange behaviour with UIBarButtonItem 【发布时间】:2013-09-06 09:14:28 【问题描述】:

我将UIButton 的exclusiveTouch 设置为YES,它工作正常(如果我触摸按钮,其他视图将不会收到触摸事件)。例外是当我触摸导航栏上的UIBarButtonItem 时,会触发它的动作。并非每次都会发生这种情况,但是如果您在UIBarButtonItem 上点击更高一点,或者只需点击靠近 UIBarButtonItem 的状态栏,就会发生这种情况。

谁能解释为什么会这样?

【问题讨论】:

【参考方案1】:

UIBarButtonItem 不是 UIView 的子类。所以它没有exclusiveTouch属性,不会被其他view的exclusiveTouch影响。

【讨论】:

【参考方案2】:

在 viewDidLoad 中试试这个

//对每个navigationItem设置独占触摸

for(UIView *navigationItem in self.navigationController.navigationBar.subviews)

   [navigationItem setExclusiveTouch:YES];

希望这会有所帮助。

【讨论】:

这个奇怪的行为只发生在我同时触摸了 UIBarButtonItem 和状态栏的时候。所以很困惑。

以上是关于UIView ExclusiveTouch:UIBarButtonItem 的奇怪行为的主要内容,如果未能解决你的问题,请参考以下文章

iOS 设置所有UIButton的ExclusiveTouch属性为YES

ExclusiveTouch

如何在 Swift 4 中向 UIView 添加子视图?

uiview上的按钮翻转动画超出框架

带有编码器的 UIView 初始化导致递归

UIView 显示在屏幕顶部移位