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

当前返回按钮:

<返回

需要的后退按钮:

< 其他任何东西

这些都没有奏效:

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

当前回答

如果你正在从页面视图控制器页面推送一个视图控制器,你不能更新导航控制器的后退按钮标题。要解决这个问题,创建一个委托回到你的父视图控制器(你也可以遍历视图控制器层次结构回到父视图控制器)。

此外,后退按钮有字符限制。如果超过该字符限制,系统将默认为“返回”。它不会为你截断。例如:

backItem.title = "Birthdays/Anniversaries" // Get's converted to "Back".
backItem.title = "Birthdays/Anniversa…" // Fits and shows as is.

其他回答

斯威夫特4

在我的案例中,解决方案是在移动到子视图控制器之前清除主视图控制器的导航项。如果再次显示,请重新设置

MasterController

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    navigationItem.title = "Master Title"
}

override func viewWillDisappear(_ animated: Bool) {
    super.viewWillDisappear(animated)
    navigationItem.title = ""
}

这就是我如何推送一个UIViewController并清除子控制器中的后栏按钮项:

MasterController

let childController = ChildController(collectionViewLayout: UICollectionViewFlowLayout())
childController.navigationItem.backBarButtonItem?.title = ""
navigationController?.pushViewController(childController, animated: true)

斯威夫特4

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

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

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

你可以在故事板中修改NavigationItem

在后退按钮中添加一个空格并按Enter。

注意:在之前的VC中这样做。

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

在呈现控制器的viewDidLoad方法中添加:

// hide navigation bar title in the next controller
let backButton = UIBarButtonItem(title: "", style:.Plain, target: nil, action: nil)
navigationItem.backBarButtonItem = backButton