我想在我的应用程序中按下一个按钮来更改本地化
我已阅读 this和 this
我正在将语言环境从英语更改为希伯来语,反之亦然(LTR 语言更改为 RTL 语言)
我的布局是这样设计的,它使用界面生成器的约束来确定文本和文本字段的方向。
如果我按照这些帖子所说的去做,我会得到本地化的字符串,但约束不会改变,因为应用程序需要重新启动才能更新 View 方向
我如何让它也更新 View 方向?
最佳答案
我自己曾经在这个问题上苦苦挣扎,但是在不重新启动应用程序的情况下我找不到任何更改语言环境的解决方案。
我所做的是,我有一个 setupUIForLocaleChange
每个 UIViewController
中的方法.我从 viewDidLoad
调用此方法每次语言环境更改并调用此方法时,我也会发送通知。 “本地变更”是指我的经理拥有 locale
的属性(property)。 .
在我的 strings
文件,字符串有像“en.myString”和“es.myString”这样的前缀,我创建了一个像LocalizedStringForKey(@"myString")
这样的宏返回 myString
使用当前语言环境。
所以我在这些 setupUIForLocaleChange
中为当前本地设置了所有标签方法,您也可以以编程方式对约束执行相同的操作。
希望这可以帮助
关于ios - 即时更改语言环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23320649/