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会起作用,因为它似乎同时发生是的,我做了测试,它实际上似乎会使触发错误变得更难一些,但最终,当我尝试足够多的时候,我仍然能够触发它。谢谢你。