我想在导航栏上设置按钮文字,但我不能。本准则不起作用

时间:2018-01-24 12:33:02

标签: ios swift uinavigationbar

self.navigationController?.navigationBar.backItem?.title = "Back"

我想在导航栏上设置按钮文字但是我不能。本准则不起作用。

3 个答案:

答案 0 :(得分:0)

试试这个

    let backItem = UIBarButtonItem()
    backItem.title = "Text"
    navigationItem.backBarButtonItem = backItem //

答案 1 :(得分:0)

修改

根据@Boobesh的评论,解决方案根据问题起作用:

let vc = ViewController() 
self.navigationItem.backBarButtonItem = UIBarButtonItem(title : "Back", style:.plain, target:nil, action:nil) 
self.navigationController?.pushViewController(vc, animated: true)

原始答案

尝试在视图控制器中将此代码添加到堆栈的一级。

如果您从控制器A移动到B,请在A上写下此代码以查看对B的影响。

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
  let backItem = UIBarButtonItem()
  backItem.title = "Back"
  navigationItem.backBarButtonItem = backItem // This will show in the next view controller being pushed
}

答案 2 :(得分:0)

使用此代码。

navigationItem.backBarButtonItem = UIBarButtonItem(title: "Text", style: .plain, target: nil, action: nil)

将此代码添加到您返回的控制器(例如viewDidLoad方法),而不是您要返回的控制器。因此,如果视图控制器堆栈如下所示: ViewController1 -> ViewController2并且您要更改ViewController2上的后退按钮标题,您需要更改backbuttonItem的{​​{1}}。