【发布时间】:2016-07-07 10:06:57
【问题描述】:
所以我有 2 个不同版本的 LaunchScreen.xib,我认为通过本地化文件,它会决定在正确的时刻使用正确的版本。然而事实并非如此。我怎样才能做到这一点?
没有代码,因为这是在界面构建器中完成的。
【问题讨论】:
标签: ios localization launch-screen
所以我有 2 个不同版本的 LaunchScreen.xib,我认为通过本地化文件,它会决定在正确的时刻使用正确的版本。然而事实并非如此。我怎样才能做到这一点?
没有代码,因为这是在界面构建器中完成的。
【问题讨论】:
标签: ios localization launch-screen
我认为没有合适的方法来做到这一点。 我建议您转到 LaunchScreen 故事板文件,其中没有文本,并让初始视图控制器假装为“扩展启动屏幕”。
这样您就可以对视图进行操作、本地化和动画化,并获得更好的控制。
静态启动屏幕 -> 扩展启动屏幕(初始视图控制器)-> 动画到下一个视图控制器(主应用程序)
【讨论】:
对于手机语言,将使用不同的 xib。如果您将 iPhone 语言设置为中文,则将使用LaunchScreen.xib (Chinese (Traditional))。
如果您想以编程方式更改语言,您可以在 didFinishLaunchingWithOptions 中使用它 AppDelegate :
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setObject:@[@"ch"] forKey:@"AppleLanguages"]; //en for english, fr for french, I think it's ch for chinese
我使用了@[@"ch"],因为AppleLanguages 是一个数组。
【讨论】: