【问题标题】:Swift BarButtonItem doesn't updateSwift BarButtonItem 不更新
【发布时间】:2020-02-04 13:48:59
【问题描述】:

我有一个导航控制器和一个根视图控制器。在这个 vc 中,我将一个表视图控制器作为弹出框呈现。当在此 tvc 上选择一行时,我执行一个委托方法(我知道它已执行)并关闭 tvc。 委托是我的视图控制器,所以它执行委托方法:

    func languageDidChange() {
    //selectedLanguageShort = a String
    languageItem.title = LanguageTVC.selectedLanguageShort
    initImageOCR(lang: LanguageTVC.selectedLanguageShort)
    print("This method is executed!")
}

该行被打印,但项目的标题(一个 UIBarButtonItem 出口)没有改变。 我认为这是因为没有 segue 或任何东西造成的,所以 vc 没有得到更新,但我找不到手动更新它的方法。

【问题讨论】:

    标签: ios swift segue uibarbuttonitem uipopovercontroller


    【解决方案1】:

    可以看这个链接:How do I set title for UIBarButtonItem?

    很快你就可以试试这个说法:

    navigationItem.rightBarButtonItem = UIBarButtonItem(title: LanguageTVC.selectedLanguageShort, style: .done, target: self, action: nil)
    

    【讨论】:

    • 谢谢。但是我的导航栏上有 3 个栏按钮项目,并且 languageItem 是一个出口。那么我应该重新初始化它吗?
    • 您好帕特里克,欢迎您。三个按钮使这种情况有点复杂。我没有尝试过,但我认为,最好的方法是重新初始化整个导航栏。
    猜你喜欢
    • 2015-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-06
    • 2018-03-23
    相关资源
    最近更新 更多