我需要在应用内进行多种语言切换
切换语言后需要保持在当前 View
我的整个应用程序 UI 需要更新才能看到替换的语言
我发现很多人的做法是重置 Root View ,也就是说要重新创建 View ,数据需要重新请求等等
我认为这是非常不合理的
你不使用Notification,还有其他方法吗?
如果有有效的链接和演示引用就更好了
非常感谢
最佳答案
我不确定你的应用程序是如何工作的,但你为什么不尝试这样的事情:
func updateLanguage() {}
您可以使用词典来帮助您轻松更新内容。我做了一个简单的例子,以便您可以理解我在说什么:
enum Languages {
case english
case portuguese
}
var myLabel = UILabel()
let myLabelText : [Languages : String] = [
Languages.english : "My Label",
Languages.portuguese : "Minha Etiqueta"
]
func updateLanguage(to language : Languages) {
// Updates myLabel's text in real time:
myLabel.text = myLabelText[language]
// Update other UI elements below...
}
每当您调用“updateLanguage”方法时,您的 UI 元素都会实时更改其文本值,无需重新加载任何内容或使用其他“黑客”,这非常简单明了,我的应用程序上有这种方法,而且它确实有效。
希望有帮助!
关于ios - 如何刷新每个 View 的多语言控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44027220/