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

当前返回按钮:

<返回

需要的后退按钮:

< 其他任何东西

这些都没有奏效:

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

当前回答

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

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

结果将是:

之前

其他回答

后退按钮文本取自父视图控制器的导航项标题。所以无论你在前一个视图控制器的导航项标题上设置了什么,都会显示在当前视图控制器的后退按钮文本上。 你可以把""作为导航项标题在父视图控制器的viewWillAppear方法中。

self.navigationItem.title = ""

另一种方法是

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

在当前视图控制器的viewWillAppear方法中。如果导航堆栈嵌套过多,这将导致一些其他问题。

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

斯威夫特4:

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

斯威夫特4

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

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

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

如果你对任何多星建议有问题,确保你在viewDidLoad()中注册你的UITableViewCells,而不是从init()

override func viewWillAppear(_ animated: Bool) {

    self.tabBarController?.navigationItem.title = "Notes"

    let sendButton = UIBarButtonItem(title: "New", style: .plain, target: self, action: #selector(goToNoteEditorViewController))

    self.tabBarController?.navigationItem.rightBarButtonItem = sendButton
}

func goToNoteEditorViewController(){
   // action what you want
}

希望能有所帮助!!3 #迅速