Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 轻触按钮后快速更改回按钮标题_Swift_Uinavigationcontroller_Uibutton - Fatal编程技术网

Swift 轻触按钮后快速更改回按钮标题

Swift 轻触按钮后快速更改回按钮标题,swift,uinavigationcontroller,uibutton,Swift,Uinavigationcontroller,Uibutton,我有一个VC,有一些backbutton标题“XYZ”,在viewDidLoad中,我会将其更改为“ABC”。然后我想用同样的方法再次更改它,但它不起作用。尝试了许多解决方案,但都不起作用 我找到了这个密码。在viewdidload中工作…但在那之后就不会了 let backButton = UIBarButtonItem( title: " ", style: UIBarButtonItemStyle.Plain, target: nil,

我有一个VC,有一些backbutton标题“XYZ”,在viewDidLoad中,我会将其更改为“ABC”。然后我想用同样的方法再次更改它,但它不起作用。尝试了许多解决方案,但都不起作用

我找到了这个密码。在viewdidload中工作…但在那之后就不会了

let backButton = UIBarButtonItem(
        title: " ",
        style: UIBarButtonItemStyle.Plain,
        target: nil,
        action: nil
    )
self.navigationController!.navigationBar.topItem!.backBarButtonItem = backButton

UIViewController
类中执行此操作。这将保留后退箭头,但删除其旁边的文本

private var _title: String?
var backBarButtonHidden: Bool {
    didSet {
        if let index = navigationController?.viewControllers.indexOf(self) {
        if index > 0 {
            if let button = navigationController?.navigationBar.items?[index - 1] {
                if backBarButtonHidden {
                    _title = button.title
                   button.title = ""
                } else { button.title = _title }
            }
        }
     } 
}

当我不在viewdidload中添加我的代码时,这是有效的。但是我不能再给按钮添加标题了-/是的,您可以,您必须将该标题存储在一个私有变量中,并以完全相同的方式访问该标题:啊哈。。。。哇,这就是我想要的:-)非常感谢。你让我非常高兴:-)添加了一个变量
didSet
方法来添加
UIViewController