IOS让返回按钮显示自定义标题而不是上个ViewController的title

Posted 3bugs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IOS让返回按钮显示自定义标题而不是上个ViewController的title相关的知识,希望对你有一定的参考价值。

在开发ios的时候发现当从一个ViewController跳转到另一个ViewController时,被跳转到的那个ViewController的返回按钮总是显示的是上个ViewController的title。如果上个ViewController的title内容比较多的话会显得界面比较乱,所以我想要实现的是返回按钮只显示“Back”。

 

开发环境:

IOS:10

Xcode:8

 

返回按钮的显示逻辑

想要知道怎么实现自己想要的功能首先要掌握相关的理论知识,下面举个例子说明。

假如从ViewController:A跳转到了B,那么B的返回按钮的显示遵循下面原则:
1. 如果A定义了BackBarButtonItem,那么B会显示A定义的BackBarButtonItem;
2. 如果B定义了LeftBarButtonItem,那么B会显示自己的LeftBarButtonItem;
3. 如果A未定义BackBarButtonItem,B也未定义LeftBarButtonItem,那么B会显示系统默认的返回按钮。

 

实现返回按钮只显示“Back”

从上一节的理论可以看出我们只要实现原则”1“就可以到达我想要的即在A中定义BackBarButtonItem:

在A的ViewDidLoad方法中加入下面语句

self.navigationController?.navigationBar.topItem?.backBarButtonItem = UIBarButtonItem(title: "Back", style: .plain, target: nil, action: nil);

 

以上是关于IOS让返回按钮显示自定义标题而不是上个ViewController的title的主要内容,如果未能解决你的问题,请参考以下文章

iOS 8 自定义返回按钮

ios怎么改变全局的导航条返回按钮

如何检测 UITableCell 上的右滑动并显示自定义按钮而不是删除按钮

自定义 UIView XIB 内的 iOS 导航返回按钮(无导航控制器)

IOS开发系列--TableView多个TableViewCell自定义CellCell上画画(故事板+代码方式),ios7tableview索引

IOS 自定义导航栏标题和返回按钮标题