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
        }
}
 
相关推荐
Morgan-Chen33 分钟前
iOS开发针对苹果新系统iOS26的兼容适配
ios·objective-c·xcode·ios26
Kathleen1001 小时前
iOS--Runtime
ios·objective-c·runtime·isa
Antonio9152 小时前
【Swift】UIKit:UISegmentedControl、UISlider、UIStepper、UITableView和UICollectionView
开发语言·ios·swift
在下历飞雨2 小时前
Kuikly基础之音频播放与资源管理:青蛙叫声实现
android·ios·harmonyos
1***81533 小时前
Swift在服务端开发的可能性探索
开发语言·ios·swift
S***H2833 小时前
Swift在系统级应用中的开发
开发语言·ios·swift
kk哥88994 小时前
iOS进阶1-combine
ios
吴Wu涛涛涛涛涛Tao5 小时前
用 Flutter + BLoC 写一个顺手的涂鸦画板(支持撤销 / 重做 / 橡皮擦 / 保存相册)
android·flutter·ios
MaoJiu6 小时前
Flutter iOS 项目 UIScene 迁移指南
flutter·ios
HarderCoder7 小时前
SwiftUI 状态管理极简之道:从“最小状态”到“状态树”
swift