嗨,我一直在尝试更改应用程序导航栏中的后退按钮。问题是,当我两次加载视图时,我看到了更改。
我已经搜索了几次答案,但是我没有真正想要的。实际上,我是这种语言的新手,所以很难。
我尝试在viewWillAppear
方法和其他方法中添加以下几行:
nav?.navigationBar.backItem?.title = "Messages"
结果是,当我进入视图时,看到后退按钮的标题为 Back 。然后,如果我按该按钮并再次进入视图,则标题会根据需要更改。另一方面,我想要的是在我第一次加载视图时更改标题。
*->我也尝试过在viewDidLoad
中的同一行以及上一个视图的viewWillDisappear
中是否有任何作用,但是什么也没发生。
答案 0 :(得分:1)
您正在使用方法在当前ViewController中使用“后退”按钮,这是错误的,因为在过去的控制器中配置了navigationBar。如果您使用Storyboard,请在父控制器中尝试以下方法:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let backItem = UIBarButtonItem()
backItem.title = "Messages"
navigationItem.backBarButtonItem = backItem
}
如果在parentController中初始化newController,则必须在parentController中修改backButton,例如:
//这是任何按钮提示您newController的动作
@objc private func presentDetailViewContorller() {
let weatherDetailController = WeatherDetailController()
let navController = NavigationController(rootViewController: weatherDetailController)
let backItem = UIBarButtonItem()
backItem.title = "Messages"
navController.backBarButtonItem = backItem
self.present(navController, animated: true, completion: nil)
}
祝你好运!