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

当前返回按钮:

<返回

需要的后退按钮:

< 其他任何东西

这些都没有奏效:

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

当前回答

斯威夫特4

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

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

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

其他回答

back按钮属于前一个视图控制器,而不是当前显示在屏幕上的那个。 要修改后退按钮,你应该在按之前更新它,添加viewdidload:

斯威夫特4:

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

有两种方法。

1.在previousViewController.viewDidLoad()中

let backBarBtnItem = UIBarButtonItem()
backBarBtnItem.title = "back"
navigationItem.backBarButtonItem = backBarBtnItem

2.在currentviewcontroller。viewdidappear()中

let backBarBtnItem = UIBarButtonItem()
backBarBtnItem.title = "back"      
navigationController?.navigationBar.backItem?.backBarButtonItem = backBarBtnItem

原因:backButton来自navigationBar.backItem。backBarButtonItem,第一种方法很明显。在currentViewController.viewDidLoad()中,我们无法获得backItem的引用,因为在viewDidAppear()中,navigationBar将navigationView推入了它的堆栈。因此我们可以在currentViewController.viewDidAppear()中对backItem进行更改

更多细节,你可以看到文档:UINavigationBar

我不知道你在哪里使用了你的方法,你把你的问题,但我可以得到想要的结果,如果我使用,在我的ViewController类(其中我想改变后退按钮),在viewDidLoad()函数,以下一行:

self.navigationController?.navigationBar.backItem?.title = "Anything Else"

结果将是:

之前

这适用于Swift 5:

self.navigationItem.backBarButtonItem?.title = ""

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

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

如果你正在为视图控制器使用xib文件,那么在你的视图控制器类中这样做。

class AboutUsViewController: UIViewController {

override func viewDidLoad() {
    super.viewDidLoad()
    edgesForExtendedLayout = []
    setUpNavBar()
}

func setUpNavBar(){
    //For title in navigation bar
    self.navigationController?.view.backgroundColor = UIColor.white
    self.navigationController?.view.tintColor = UIColor.orange
    self.navigationItem.title = "About Us"

    //For back button in navigation bar
    let backButton = UIBarButtonItem()
    backButton.title = "Back"
    self.navigationController?.navigationBar.topItem?.backBarButtonItem = backButton
}

}

结果将是: