如何删除后退按钮的文本。

当前返回按钮:

<返回

需要的后退按钮:

< 其他任何东西

这些都没有奏效:

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

当前回答

这适用于Swift 5:

self.navigationItem.backBarButtonItem?.title = ""

请注意,它将对下一个被推送的视图控制器有效,而不是当前显示的视图控制器,这就是为什么它非常令人困惑!

同样,检查故事板并选择前一个视图控制器的导航项,然后在后退按钮(检查器)中键入一些内容。

其他回答

自我。标题= "" 之前self.navigationController ?。pushViewController(vc, animated: true)。

你可以把这3行代码放到ViewController中你想要改变返回按钮的标题。

在你的重载函数中viewDidLoad(){}。

let backButton = UIBarButtonItem()
backButton.title = "My Back Button Title"
self.navigationController?.navigationBar.topItem?.backBarButtonItem = backButton

这应该可以工作:

override func viewDidLoad() {
    super.viewDidLoad()

    var button = UIBarButtonItem(title: "YourTitle", style: UIBarButtonItemStyle.Bordered, target: self, action: "goBack")
    self.navigationItem.backBarButtonItem = button

}

func goBack()
{
    self.navigationController?.popViewControllerAnimated(true)
}

虽然不建议这样做,因为这实际上取代了backButton,它也删除了后退箭头和滑动手势。

斯威夫特4

虽然前面说的准备segue是正确的,后退按钮属于之前的VC,它只是增加了一堆不必要的代码。

最好的方法是在viewDidLoad中设置当前VC的标题,它会自动在下一个VC上正确设置返回按钮的标题。这句话对我很管用

navigationController?.navigationBar.topItem?.title = "Title"

back按钮属于前一个视图控制器,而不是当前显示在屏幕上的那个。 要修改返回按钮,你应该在按之前更新它,在启动segue的视图控制器上:

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

Swift 3,4和5:

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

OR

// in your viewDidLoad or viewWillAppear
navigationItem.backBarButtonItem = UIBarButtonItem(
    title: "Something Else", style: .plain, target: nil, action: nil)