很多类似的问题在Stackoverflow上被许多人提出并回答。但是没有一个解决方案符合我的要求。
我正在使用Swift3进行IOS移动应用程序开发,并使用导航控制器来管理导航。我使用下面的代码给所有页面的标题。
self.title = "Title"
当我移动到下一页时,它会显示我带有前一页标题的后退按钮。对于某些页面,标题很长,它会扰乱页面的标题部分。
我希望将按钮文本更改为"返回"而不是页面标题。 知道怎么做吗?
答案 0 :(得分:3)
如果你使用的是故事板,那么你可以在那里设置按钮标题,点击ViewController - >导航项目 - >后退按钮并设置“后退”标题。
或者您可以在ViewWillApear
中设置标题,并在viewWillDisappear
方法中将其更改为“返回”
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.title = "My Title"
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
self.title = "Back"
}
答案 1 :(得分:1)
在segue之前的准备函数中执行此操作:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let backItem = UIBarButtonItem()
backItem.title = "Back" // Change to desired title here
navigationItem.backBarButtonItem = backItem
}
答案 2 :(得分:1)
尝试删除viewWillDisapperar
上的标题,然后在viewWillAppear
答案 3 :(得分:1)
试试这个:
self.navigationController?.navigationBar.topItem?.title = "Back"
它应该工作:)
答案 4 :(得分:0)
试试这个:
self.navigationController!.navigationBar.topItem!.title = "Back"