我想自定义后退按钮以显示与之前viewController的标题不同的文本。
我试过了:
self.navigationItem.backBarButtonItem!.title = "CustomText"
在相关viewController中的ViewDidLoad()方法中。
我在这里阅读了backBarButtonItem in iOS (Swift)左栏按钮在这里工作,但在我的情况下,它返回nil。
提前感谢您的帮助!
答案 0 :(得分:3)
执行此标题更改的最佳位置是其先前的视图控制器的viewDidDisappear
方法。
Ex:你想在ViewControllerB中看到不同的标题
ViewControllerA - > ViewControllerB。
在ViewControllerA
的viewDidDisappear方法中,
override func viewDidDisappear(animated: Bool) {
self.navigationItem.title = "ABC"
}
因此,当它转到ViewControllerB时,您会看到“ABC”作为后退按钮标题。当您返回ViewControllerA时,您应该在ViewControllerA的viewWillAppear方法中恢复旧标题。
答案 1 :(得分:3)
我同意@ Amit89,但我建议在self.navigationItem.title = "CustomText"
下添加viewWillDisappear
,如下所示:
override func viewWillDisappear(animated: Bool) {
super.viewWillDisappear(animated)
self.navigationItem.title = "CustomText"
}
否则,在新视图控制器推动动画完成后,您的后退按钮标题将突然消失。
另外,请记住在显示旧视图控制器的标题时重置它。
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
self.navigationItem.title = "Original Title"
}