【问题标题】:Disabling simultaneous rightBarButton / tapGestureRecognizer touch禁用同时 rightBarButton / tapGestureRecognizer 触摸
【发布时间】:2023-03-11 06:11:02
【问题描述】:

我有一个viewController,当用户点击屏幕时,它的navigationBarstatusBar 会消失/重新出现(很像照片应用程序)。我注意到,当我在navigationBar 上按下rightBarButton“完成”并同时点击屏幕时,它会在viewController 转换时使条形消失(因此不会在被推送的viewController 上显示任何条形) .

我尝试在UITapGestureRecognizer 被触发时禁用rightBarButton,并尝试在rightBarButton 被推送时禁用UITapGestureRecognizer,但这并没有什么不同,这只发生在他们同时推送。

有没有人知道可以防止这种情况发生的解决方案?

【问题讨论】:

  • 或许可以确保导航栏在 viewWillDisappear: 中可见。
  • 或者在带有手势识别器的视图或按钮上设置 ExclusiveTouch :)

标签: iphone ios cocoa-touch uinavigationcontroller uigesturerecognizer


【解决方案1】:

我认为最简单的方法是将setExclusiveTouch: 转到导航栏视图(因此转到rightBarButton)。 所以在你viewDidLoad:

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

【讨论】:

  • 我不认为独家触摸会起作用,因为它似乎同时发生
  • 是的,我进行了测试,实际上触发错误似乎有点困难,但最终当我尝试足够多时,我仍然能够触发它。不过还是谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多