如何隐藏iPhone上的导航栏上的“返回”button?

我添加了一个导航控件来切换我的应用程序中的视图。 但一些意见不应该有“返回”(前面的标题)button。 有关如何隐藏后退button的任何想法?

Objective-C的:
self.navigationItem.hidesBackButton = YES;

迅速:
navigationItem.hidesBackButton = true

最好的方法是将这些组合起来,所以即使手动设置,也会隐藏后退button:

 self.navigationItem.leftBarButtonItem=nil; self.navigationItem.hidesBackButton=YES; 

用波纹pipe代码隐藏后退button…

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

要么

 [self.navigationItem setHidesBackButton:YES]; 

另外,如果你有自定义的UINavigationBar然后尝试波纹pipe代码

 self.navigationItem.leftBarButtonItem = nil; 

使用代码:

  self.navigationItem.backBarButtonItem=nil; 

Swift中

将此添加到控制器

 override func viewDidLoad() { super.viewDidLoad() self.navigationItem.setHidesBackButton(true, animated: false) } 

在UIViewController的函数viewDidLoad中使用代码:

 self.navigationItem.hidesBackButton = YES; 

不要忘记,您需要在具有导航控制器的对象上调用它。 例如,如果你有一个导航控制器推动与一个RootViewController的标签栏控制器,在RootViewController上调用self.navigationItem.hidesBackButton = YES将不会执行任何操作。 你实际上必须调用self.tabBarController.navigationItem.hidesBackButton = YES

不要忘记,我们现在有幻灯片背后的姿态。 你可能也想删除这个。 如果有必要,不要忘记重新启用它。

 if ([self.navigationItem respondsToSelector:@selector(hidesBackButton)]) { self.navigationItem.hidesBackButton = YES; } if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) { self.navigationController.interactivePopGestureRecognizer.enabled = NO; } 

在你的视图控制器中添加这个代码

 UIView *myView = [[UIView alloc] initWithFrame: CGRectMake(0, 0, 300, 30)]; UIBarButtonItem *btnL = [[UIBarButtonItem alloc]initWithCustomView:myView]; self.navigationItem.leftBarButtonItem = btnL; 

对我来说,上述都不起作用,没有视觉效果。 我正在使用故事板,在导航控制器中“embedded”视图。

然后我在代码级别添加我的menuItems,出于某种原因,当视觉debugging视图层次时,“backButton”是可见的,我的menuItem图标显示在不可见的“后退button”下面。

我尝试了各种钩子方法的build议,并没有任何效果。 然后,我尝试了一个更残酷的方法,迭代子视图也没有效果。

我检查了我的图标大小,似乎没有问题。 在提到他苹果人机界面指南后,我确认我的图标是正确的。 (在我的情况24px 48px 72px小1像素)。

最奇怪的部分,然后是实际的修复…

当添加BarButton Item给它一个至less有一个字符的标题 ,在我的情况下是一个空格字符。

希望这可以帮助别人。

 //left menu - the title must have a space UIBarButtonItem *leftButtonItem = [[UIBarButtonItem alloc] initWithTitle:@" " <--THE FIX style:UIBarButtonItemStylePlain target:self action:@selector(showMenu)]; leftButtonItem.image = [UIImage imageNamed:@"ic_menu"]; [self.navigationItem setLeftBarButtonItem:leftButtonItem];