如何隐藏导航栏后退按钮

Posted

技术标签:

【中文标题】如何隐藏导航栏后退按钮【英文标题】:How to hide navigation bar back button 【发布时间】:2012-07-03 12:34:27 【问题描述】:

我的问题很简单,如何隐藏导航栏中的后退按钮?我在堆栈溢出中看到类似的问题here,但是

self.navigationItem.hidesBackButton = YES;

不适合我。我使用下面的代码是因为 RootViewController 是我的 Singleton 类。

谢谢

我仍然在 viewDidLoad 中使用两者,但两者都不起作用

[RootViewController sharedFirstViewController].navigationItem.hidesBackButton = YES;

[RootViewController sharedFirstViewController].navigationItem.backBarButtonItem=nil;

【问题讨论】:

隐藏按钮?还是导航栏? 【参考方案1】:

试试self.navigationItem.backBarButtonItem.hidden = YES;self.navigationItem.backBarButtonItem = nil;

将其中之一放在您想要去掉后退按钮的课程的viewWillAppear:viewWillLoadviewDidAppear: 中。

【讨论】:

【参考方案2】:

我建议在视图出现在屏幕上之前执行此操作。您可能不想看到栏然后让它消失。

所以你应该打电话:

- (void) viewDidLoad 
   //Check to see if the Nav har is hidden, and then hide it
   if (!self.navigationItem.backBarButtonItem.hidden) 
      self.navigationItem.backBarButtonItem.hidden = YES;
   
   else  
      NSLog(@"back button already hidden");
   

请注意,如果您想释放屏幕空间,您也可以完全使用整个导航栏来执行此操作。

【讨论】:

在“UIBarButtonItem”类型的对象上找不到属性“隐藏”错误。

以上是关于如何隐藏导航栏后退按钮的主要内容,如果未能解决你的问题,请参考以下文章

导航栏隐藏标题和后退按钮 iOS 7

UINavigationController 仅隐藏导航栏 - 后退动画问题

在 Swift 中使用 hidesBackButton 隐藏导航栏中的后退按钮

在导航控制器中添加标签栏控制器时隐藏后退按钮

导航栏:“隐藏”标题,但为后续的后退按钮保留它

可以在标签栏控制器中隐藏导航栏吗?