Swift:backBarButtonItem自定义文本

时间:2015-05-07 16:18:13

标签: ios swift uinavigationbar uibarbuttonitem

我想自定义后退按钮以显示与之前viewController的标题不同的文本。

我试过了:

self.navigationItem.backBarButtonItem!.title = "CustomText"

在相关viewController中的ViewDidLoad()方法中。

我在这里阅读了backBarButtonItem in iOS (Swift)左栏按钮在这里工作,但在我的情况下,它返回nil。

提前感谢您的帮助!

2 个答案:

答案 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"
}