我有一些我調用的代碼更改了導航控制器中viewcontroller的viewWillAppear部分中的語言。 viewWillAppear在UINavigationController上返回時不會調用
當我點擊後退按鈕時,即使我在viewWillAppear中有它的代碼,語言變化也不會發生。唯一的一次切換是當我一直回到原始屏幕,然後開始向前移動時,它會改變。有什麼辦法可以在viewWillAppear工作中使用該功能嗎?
這裏是我的代碼,我使用的語言改變莢:
//MARK: Language change
//used to change language text for imediate screens
func setText(){
locationsLabel.text = "Locations".localized()
languageLabel.text = "Languages".localized()
termsOfUseLabel.text = "Terms of Use".localized()
privacyPolicyLabel.text = "Privacy Policy".localized()
pushNotificationsLabel.text = "Push Notifications".localized()
contactUsLabel.text = "Contact Us".localized()
}
// Changes text to current language
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
NSNotificationCenter.defaultCenter().addObserver(self, selector: "setText", name: LCLLanguageChangeNotification, object: nil)
}
// Remove the LCLLanguageChangeNotification on viewWillDisappear
override func viewWillDisappear(animated: Bool) {
super.viewWillDisappear(animated)
NSNotificationCenter.defaultCenter().removeObserver(self)
}
,你能否告訴我們'viewWillAppear中()'的代碼? –
@LukeVanIn我用我的代碼更新了這個問題 – SwiftyJD