目前正在尝试删除后面按钮上之前VC的标题。以下是 苹果的文件 我已经用了。
let backBarButtton = UIBarButtonItem(title: "", style: .plain, target: nil, action: nil)
navigationItem.backBarButtonItem = backBarButtton
但是后退按钮的标题并没有消失!控制台说它是空的(""),但它很清楚地仍然显示给用户。
我不想使用小技巧,比如将之前VC的标题设置为""然而目前其他方法似乎都没有用。有什么建议吗?
试试这个函数 extension
的 UINavigationController
:
func setBackButtonTitle(_ title: String) {
if self.navigationBar.topItem != nil {
let leftBarButtonItem: UIBarButtonItem = UIBarButtonItem(title: title, style: UIBarButtonItem.Style.plain, target: self, action: #selector(self.backButtonAction))
self.navigationBar.topItem?.backBarButtonItem = leftBarButtonItem
} else {
if self.navigationBar.backItem != nil {
self.navigationBar.backItem?.title = title
}
}
}
试试这个。
self.navigationController?.navigationBar.topItem?.backBarButtonItem = backBarButtton
你的代码改变了当前控制器上方的后退按钮的外观。但你需要修改当前控制器上的后退按钮。
参见文档中的backBarButtonItem。
当这个导航项紧挨着堆栈中最上面的项时,导航控制器会从这个导航项导出导航栏的后退按钮。当这个属性为nil时,导航项使用其title属性中的值来创建一个合适的后退按钮。如果您想为后置按钮指定自定义图像或标题,您可以为该属性分配一个自定义栏按钮项(带有您的自定义标题或图像)。当配置您的条形按钮项目时,不要为其指定自定义视图;导航项目无论如何都会忽略后面条形按钮中的自定义视图。
你可以用一个UIButton来代替启动它
let button = UIButton()
let item = UIBarButtonItem(customView: button)
navigationItem.backBarButtonItem = item