禁用同时 rightBarButton / tapGestureRecognizer 触摸
Posted
技术标签:
【中文标题】禁用同时 rightBarButton / tapGestureRecognizer 触摸【英文标题】:Disabling simultaneous rightBarButton / tapGestureRecognizer touch 【发布时间】:2013-05-18 17:48:49 【问题描述】:我有一个viewController
,当用户点击屏幕时,它的navigationBar
和statusBar
会消失/重新出现(很像照片应用程序)。我注意到,当我在navigationBar
上按下rightBarButton
“完成”并同时点击屏幕时,它会在viewController
转换时使条形消失(因此不会在被推送的viewController 上显示任何条形) .
我尝试在UITapGestureRecognizer
被触发时禁用rightBarButton
,并尝试在rightBarButton
被推送时禁用UITapGestureRecognizer
,但这并没有什么不同,这只发生在他们同时推送。
有没有人知道可以防止这种情况发生的解决方案?
【问题讨论】:
或许可以确保导航栏在viewWillDisappear:
中可见。
或者在带有手势识别器的视图或按钮上设置 ExclusiveTouch :)
【参考方案1】:
我认为最简单的方法是将setExclusiveTouch:
转到导航栏视图(因此转到rightBarButton
)。
所以在你viewDidLoad
:
for (UIView *v in self.navigationController.navigationBar.subviews)
[v setExclusiveTouch:YES];
【讨论】:
我不认为独家触摸会起作用,因为它似乎同时发生 是的,我进行了测试,实际上触发错误似乎有点困难,但最终当我尝试足够多时,我仍然能够触发它。不过还是谢谢。以上是关于禁用同时 rightBarButton / tapGestureRecognizer 触摸的主要内容,如果未能解决你的问题,请参考以下文章
从Swift中的另一个ViewController访问rightBarButton函数
html 笔记:移动端触摸事件 - 点击延迟的证明和“点穿”点穿 - 1.禁用页面Double Tap to Zoom的meta标签