如何删除后退按钮的文本。
当前返回按钮:
<返回
需要的后退按钮:
< 其他任何东西
这些都没有奏效:
self.navigationItem.backBarButtonItem?.title = "Back"
self.backItem?.title = ""
self.navigationController?.navigationBar.backItem?.title = ""
self.navigationItem.backBarButtonItem?.title = ""
self.navigationController?.navigationItem.backBarButtonItem?.title="Back"
self.navigationController?.navigationBar.backItem?.title = ""
self.navigationController?.navigationItem.backBarButtonItem?.title
斯威夫特4
在我的案例中,解决方案是在移动到子视图控制器之前清除主视图控制器的导航项。如果再次显示,请重新设置
MasterController
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
navigationItem.title = "Master Title"
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
navigationItem.title = ""
}
这就是我如何推送一个UIViewController并清除子控制器中的后栏按钮项:
MasterController
let childController = ChildController(collectionViewLayout: UICollectionViewFlowLayout())
childController.navigationItem.backBarButtonItem?.title = ""
navigationController?.pushViewController(childController, animated: true)
斯威夫特4.2
如果你想改变导航栏后退按钮的文本,把它放在控制器的viewDidLoad中,在后退按钮显示之前,而不是在后退按钮可见的视图控制器上。
let backButton = UIBarButtonItem()
backButton.title = "New Back Button Text"
self.navigationController?.navigationBar.topItem?.backBarButtonItem = backButton
如果你想改变当前导航栏标题文本,请使用下面的代码(注意,这将成为NEXT视图推到导航控制器上的默认回显文本,但这个默认回显文本可以被上面的代码覆盖)
self.title = "Navigation Bar Title"