iOS 让界面元素的文字随着语言的更改而变化——本地化文字跟随

在我的 App 内置的设置中,修改了语言,这时需要让当前界面的文本跟着改变语言。

解决方法是:添加一个观察者,观察 localize 本地语言的通知,然后一有变化就调用自定义的方法执行操作。(而设置中其实是改变了 localize 的语言)

swift 复制代码
override func viewDidLoad() {
        tableForChoose = tableChoose
        super.viewDidLoad()
        NotificationCenter.default.addObserver(self, selector: #selector(setText), name: NSNotification.Name(LCLLanguageChangeNotification), object: nil)
}
@objc func setText() {
        btn_complete?.setTitle("done".localized(), for: .normal)
        tableForChoose?.reloadData()
        tableForChoose?.selectRow(at: defaultChoose ?? IndexPath(row: 0, section: 0), animated: true, scrollPosition: .middle)
        if let cell = tableForChoose?.cellForRow(at: defaultChoose ?? IndexPath(row: 0, section: 0)) {
            cell.accessoryType = .checkmark
        }
}
 
相关推荐
东坡肘子2 小时前
Swift 还让你 Excited 吗?-- 肘子的 Swift 周报 #141
人工智能·swiftui·swift
壹方秘境16 小时前
我用Go语言开发了一个跨平台的HTTPS抓包和调试工具
前端·后端·ios
sweet丶3 天前
Swift 元编程-Macro
swift
初级代码游戏6 天前
easy Photo Clean公测版:快速清理iPhone照片 邀请公测
ios·iphone
库奇噜啦呼6 天前
【iOS】RunLoop学习
学习·ios
影寂ldy6 天前
WinForm PictureBox控件 + ImageList组件 完整笔记
开发语言·笔记·swift
黑科技iOS上架6 天前
iOS应用周末提交什么情况算卡审
经验分享·ios
zzb15806 天前
ios基础-MVC-UIView
ios·mvc·cocoa
kingbal6 天前
Flutter:Flutter SDK版本管理工具FVM
android·flutter·ios·android-studio·window