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

当前返回按钮:

<返回

需要的后退按钮:

< 其他任何东西

这些都没有奏效:

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)。

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

self.navigationItem.title = ""

另一种方法是

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

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

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 #迅速

这应该可以工作:

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,它也删除了后退箭头和滑动手势。

Swift 4 -在按任何视图控制器之前配置后退按钮

// if you want to remove the text
navigationItem.backBarButtonItem = UIBarButtonItem()

// if you want to modify the text to "back"
navigationItem.backBarButtonItem = UIBarButtonItem(title: "back", style: .plain, target: nil, action: nil)