IOS Swift:使用" Back"更新导航按钮文本

时间:2017-05-01 06:24:06

标签: ios swift xcode swift3 uinavigationcontroller

很多类似的问题在Stackoverflow上被许多人提出并回答。但是没有一个解决方案符合我的要求。

我正在使用Swift3进行IOS移动应用程序开发,并使用导航控制器来管理导航。我使用下面的代码给所有页面的标题。

self.title = "Title"

当我移动到下一页时,它会显示我带有前一页标题的后退按钮。对于某些页面,标题很长,它会扰乱页面的标题部分。

我希望将按钮文本更改为"返回"而不是页面标题。 知道怎么做吗?

5 个答案:

答案 0 :(得分:3)

如果你使用的是故事板,那么你可以在那里设置按钮标题,点击ViewController - >导航项目 - >后退按钮并设置“后退”标题。

enter image description here

或者您可以在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"