我有一个导航控制器和一个根视图控制器。在此vc上,我将表视图控制器呈现为popover。当在该tvc上选择一行时,我执行一个委托方法(我知道它已执行)并关闭tvc。委托是我的视图控制器,因此它执行委托方法:
func languageDidChange() {
//selectedLanguageShort = a String
languageItem.title = LanguageTVC.selectedLanguageShort
initImageOCR(lang: LanguageTVC.selectedLanguageShort)
print("This method is executed!")
}
已打印该行,但项目的标题(UIBarButtonItem插座)没有更改。我认为这是由于没有segue或任何东西引起的,因此vc不会得到更新,但是我找不到手动更新它的方法。
您可以查看此链接:How do I set title for UIBarButtonItem?
不久您可以尝试以下语句:
navigationItem.rightBarButtonItem = UIBarButtonItem(title: LanguageTVC.selectedLanguageShort, style: .done, target: self, action: nil)