gpt4 book ai didi

iphone - 根据特定本地化动态切换 XIB

转载 作者:行者123 更新时间:2023-11-29 13:42:48 24 4
gpt4 key购买 nike

我用这些方法

[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObject:@"ar"] forKey:@"AppleLanguages"];
[[NSUserDefaults standardUserDefaults] synchronize];

强制我的应用程序在运行时更改其本地化(当用户点击一个简单调用这些方法的按钮时)并且它工作得很好,但是,这些方法不足以将整个 XIB 切换到新语言(这在我的例子中,是阿拉伯语),假设我有一个名为 HomeViewController.xib 的 XIB,它在 XCode 中作为一个目录打开,一个包含两个文件的目录:HomeViewController.xib(英文)HomeViewController.xib(阿拉伯语) 每个文件根据语言都有自己的布局(例如,阿拉伯语 xib 具有从右到左的控件布局..),我尝试调用 removeFromSuperView 当前 Controller 上的每个控件,然后为控件调用 addSubView,但没有任何改变,应用程序仍然显示英文 XIB。

当点击该语言按钮时,我如何让我的应用程序在运行时将其 XIB 更改为正确的本地化版本。

附注当我在系统设置中更改整个模拟器本地化时,该应用程序按预期工作,即它显示正确的本地化 XIB。

最佳答案

在运行时决定加载哪个 xib,正如您所说,当您更改模拟器设置时,您就可以看到阿拉伯语屏幕。

因此 xib 的决定是基于您在用户默认设置中提供的内容,然后它检查语言环境并加载与该语言环境相对应的 xib。

关于iphone - 根据特定本地化动态切换 XIB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8629355/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com