如何隐藏iPhone导航栏上的"后退"按钮?

Chi*_*ong 310 navigation iphone objective-c uinavigationcontroller ios

我添加了一个导航控件,可以在我的应用中切换视图.但有些观点不应该有"后退"(前一个标题)按钮.有关如何隐藏后退按钮的任何想法?

小智 801

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

迅速:
navigationItem.hidesBackButton = true

  • 你不能通过`self.navigationItem.leftBarButtonItem = nil;`隐藏后退按钮.如果你明确地设置了leftbarbuttonitem,你可以使用`self.navigationItem.leftBarButtonItem = nil;`.`self.navigationItem.hidesBackButton = YES;`将隐藏后退按钮项 (9认同)
  • 不确定这是否有帮助,但'self'始终是一个视图控制器,它被呈现在导航控制器堆栈的顶部. (2认同)

Skr*_*rew 36

最好的方法是组合这些,所以即使你手动设置它也会隐藏后退按钮:

self.navigationItem.leftBarButtonItem=nil;
self.navigationItem.hidesBackButton=YES;
Run Code Online (Sandbox Code Playgroud)

  • 为了回答用户716216,他在一句话解释中解释了这一点.第二行代码适用于默认情况.如果您自己创建并添加了按钮,则第一行代码可以正常工作. (6认同)

Par*_*shi 20

用波纹管代码隐藏后退按钮...

[self.navigationItem setHidesBackButton:YES animated:YES];
Run Code Online (Sandbox Code Playgroud)

要么

[self.navigationItem setHidesBackButton:YES];
Run Code Online (Sandbox Code Playgroud)

此外,如果您有自定义,UINavigationBar然后尝试波纹管代码

self.navigationItem.leftBarButtonItem = nil;
Run Code Online (Sandbox Code Playgroud)


Kin*_*ard 6

Swift中:

将其添加到控制器

override func viewDidLoad() {
    super.viewDidLoad()
    self.navigationItem.setHidesBackButton(true, animated: false)
}
Run Code Online (Sandbox Code Playgroud)