Iphone 禁用同时右按键/按键识别器触摸
我有一个Iphone 禁用同时右按键/按键识别器触摸,iphone,ios,cocoa-touch,uinavigationcontroller,uigesturerecognizer,Iphone,Ios,Cocoa Touch,Uinavigationcontroller,Uigesturerecognizer,我有一个viewController,当用户点击屏幕时,它的navigationBar和statusBar会消失/重新出现(很像照片应用程序)。我注意到,当我按下导航栏上的右按钮“完成”并同时点击屏幕时,当viewController转换时,它会使这些栏消失(因此不会在被按下的viewController上显示任何栏) 我尝试过在触发UITapGestureRecognitizer时禁用rightBarButton,也尝试过在按下rightBarButton时禁用UITapGestureReco
viewController
,当用户点击屏幕时,它的navigationBar
和statusBar
会消失/重新出现(很像照片应用程序)。我注意到,当我按下导航栏上的右按钮
“完成”并同时点击屏幕时,当viewController
转换时,它会使这些栏消失(因此不会在被按下的viewController上显示任何栏)
我尝试过在触发UITapGestureRecognitizer
时禁用rightBarButton
,也尝试过在按下rightBarButton
时禁用UITapGestureRecognitizer
,但这没有什么区别,只有在同时按下它们时才会发生这种情况
有人知道一种解决方案可以防止这种情况发生吗?我认为最简单的方法是设置ExclusiveTouch:
到导航栏视图(从而到右按钮
)。
因此,在您的viewDidLoad
中:
for (UIView *v in self.navigationController.navigationBar.subviews) {
[v setExclusiveTouch:YES];
}
也许确保导航栏在视图中可见会消失:
。或者使用手势识别器或按钮在视图上设置exclusiveTouch:)我不认为exclusiveTouch会起作用,因为它似乎同时发生是的,我做了测试,它实际上似乎会使触发错误变得更难一些,但最终,当我尝试足够多的时候,我仍然能够触发它。谢谢你。