我想在导航栏上设置后退按钮文本但我不能。此代码不起作用

I want to set back button text on navigation bar But I can't. This Code Not Working

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

我想在导航栏上设置返回按钮文本但是我不能。此代码无效。

试试这个

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

编辑

根据@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
}

使用此代码。

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

将此代码添加到您 return 的控制器(例如 viewDidLoad 方法),而不是您 return 所在的控制器。所以,如果视图控制器堆栈看起来像: ViewController1 -> ViewController2 并且您想更改 ViewController2 上的后退按钮标题,您需要更改 ViewController1backbuttonItem