去掉后面的按钮文字

问题描述 投票:0回答:1

目前正在尝试删除后面按钮上之前VC的标题。以下是 苹果的文件 我已经用了。

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

但是后退按钮的标题并没有消失!控制台说它是空的(""),但它很清楚地仍然显示给用户。

我不想使用小技巧,比如将之前VC的标题设置为""然而目前其他方法似乎都没有用。有什么建议吗?

ios swift uinavigationcontroller uinavigationbar uinavigationitem
1个回答
1
投票

试试这个函数 extensionUINavigationController :

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
        }
    }
}

1
投票

试试这个。

self.navigationController?.navigationBar.topItem?.backBarButtonItem = backBarButtton

你的代码改变了当前控制器上方的后退按钮的外观。但你需要修改当前控制器上的后退按钮。

参见文档中的backBarButtonItem。

当这个导航项紧挨着堆栈中最上面的项时,导航控制器会从这个导航项导出导航栏的后退按钮。当这个属性为nil时,导航项使用其title属性中的值来创建一个合适的后退按钮。如果您想为后置按钮指定自定义图像或标题,您可以为该属性分配一个自定义栏按钮项(带有您的自定义标题或图像)。当配置您的条形按钮项目时,不要为其指定自定义视图;导航项目无论如何都会忽略后面条形按钮中的自定义视图。


0
投票

你可以用一个UIButton来代替启动它

let button = UIButton()
let item = UIBarButtonItem(customView: button)
navigationItem.backBarButtonItem = item
© www.soinside.com 2019 - 2024. All rights reserved.