如何删除和添加导航栏上的“返回按钮”

Posted

技术标签:

【中文标题】如何删除和添加导航栏上的“返回按钮”【英文标题】:How to remove and add back the "back button" on navigation bar 【发布时间】:2014-11-07 09:23:15 【问题描述】:

我的视图控制器在导航栏上有一个后退按钮显示(在 UINavigationController 中)。当前视图中有一个“编辑”模式。当进入“编辑”模式时,我将leftBarButtonItem替换为“取消”按钮,当退出“编辑”模式时,我想再次将左键更改为“返回按钮”,该怎么做?

我尝试 self.navigationItem.leftBarButtonItem = self.navigationItem.backBarButtonItem,它只是删除了“取消”按钮,但没有恢复“返回按钮”。

现在我可以用 UI 创建一个新的导航项,就像返回按钮一样,并将其设置为 leftBarButtonItem,但位置与原生返回栏按钮不同,并且失去了滑动返回手势。

有没有办法让导航栏上的原生后退栏按钮项返回?

【问题讨论】:

使用推送导航时,后退按钮是默认按钮。需要对leftBarButtonItem相关的代码进行注释。还要删除您指定的上述行。您是否正在尝试创建看起来像默认按钮的自定义按钮? @Kampai 我想要默认的。 【参考方案1】:

当您离开编辑模式时,只需设置:

self.navigationItem.leftBarButtonItem = nil;

【讨论】:

【参考方案2】: 在同一个视图控制器中,只需在 viewWillAppear 中添加 self.navigationItem.backBarButtonItem.title = @"Cancel";。 并在viewDidDisappear 中添加self.navigationItem.backBarButtonItem.title = @"Back"; 以设置类文件.m 的后退按钮文本。

设置取消:

- (void)viewWillAppear:(BOOL)animated

    self.navigationItem.backBarButtonItem.title = @"Cancel";

返回:

-(void)viewDidDisappear:(BOOL)animated

    self.navigationItem.backBarButtonItem.title = @"Back";

【讨论】:

我没有移动到新视图,只是在当前视图中添加了一个“编辑”状态,当处于“编辑”状态时,左键是“取消”,但当退出“编辑”状态时,我想找回默认的“返回”栏按钮。谢谢。 没有问题。只需在编辑和退出状态下更改 self.navigationItem.backBarButtonItem.title = @"" 的标题文本即可。

以上是关于如何删除和添加导航栏上的“返回按钮”的主要内容,如果未能解决你的问题,请参考以下文章

ios修改导航栏上返回按钮上的文字,例如把back修改为返回

如何更改导航栏上“返回”按钮的标题

自定义后退按钮图像在导航栏上不起作用

如何在导航栏中添加返回按钮?

iOS 导航栏-返回按钮-自定义

在导航栏中自动添加“返回”按钮