禁用导航栏的后退按钮

时间:2013-12-29 19:59:04

标签: ios7 uinavigationcontroller uinavigationbar

我试图禁用导航栏后退按钮项目(变为灰色并且不响应触摸)。

我尝试了以下内容:

[self.navigationItem.backBarButtonItem setEnabled:NO];

哪个不起作用。禁用右键按钮可作为魅力。

令人惊讶的是,我无法在SO上找到类似的问题。最接近的一个是关于隐藏按钮(它工作顺便)但这不是那么优雅(或添加一个标签来覆盖按钮并防止触摸保持与后退按钮相同的颜色 - >也不是那么优雅:/ )。

我应该提到视图控制器是一个由另一个导航控制器推动的表视图控制器。 (即后退按钮是自动添加的,而不是通过IB或programmaticaly添加)

有什么想法吗?

2 个答案:

答案 0 :(得分:9)

您可以使用

隐藏
[self.navigationItem setHidesBackButton:YES animated:YES];

答案 1 :(得分:1)

您需要创建自定义后退按钮才能将其禁用。这是一个简单的例子(不需要隐藏backButtonItem):

请注意,您可能希望禁用后滑动手势(请参阅此处:How to disable back swipe gesture in UINavigationController on iOS 7

ll1