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

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

谁能解释为什么会这样?

【问题讨论】:

    标签: ios uiview uibutton uibarbuttonitem


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      在 viewDidLoad 中试试这个

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

      for(UIView *navigationItem in self.navigationController.navigationBar.subviews)
      {
         [navigationItem setExclusiveTouch:YES];
      }
      

      希望这会有所帮助。

      【讨论】:

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