Ios 使用UITabBar首次启动时更改应用程序语言

Ios 使用UITabBar首次启动时更改应用程序语言,ios,localization,uitabbarcontroller,tabbar,Ios,Localization,Uitabbarcontroller,Tabbar,我有一位神父。应用程序第一次运行时,用户需要在模式视图控制器中选择一种语言。我使用以下选项在应用程序didFinishLaunchingWithOptions中显示modalview: [self.tabBarController presentModalViewController:languageVC animated:YES]; 问题是:UITabbar已经加载,因此UITabbar上的语言不会更改 m(就像很多答案所说的那样),因为用户需要先做出选择 所以我试着等到用户选择了一种语言

我有一位神父。应用程序第一次运行时,用户需要在模式视图控制器中选择一种语言。我使用以下选项在
应用程序didFinishLaunchingWithOptions
中显示modalview:

 [self.tabBarController presentModalViewController:languageVC animated:YES];
问题是:UITabbar已经加载,因此UITabbar上的语言不会更改

m(就像很多答案所说的那样),因为用户需要先做出选择

所以我试着等到用户选择了一种语言后再加载TabBar,但这也不起作用


我见过另一个应用程序这样做(尽管这个应用程序没有UITabbar),我的客户真的需要它。但我不知道如何解决这个问题。甚至可以使用uitabar吗?

您可以将AppDelegates didFinishLaunchingWithOptions中的语言设置为全局参数。 然后,可以使用在选项卡栏中的每个ViewController中设置选项卡项标题

self.tabbarItem.title = @"abc123";
您可以选择一个文本变量

if ([language isEqualToString:@"german"]).....
else if ([language isEqualToString:@"english"]).....

您为什么要求用户选择一种语言而不是使用系统语言?谢谢您的回答。我试过了,成功了,干杯!唯一的“问题”是我必须在ViewController的
init
中使用一些if。我想代码不是很好,但它很有效,所以我没有抱怨。但是你最好使用系统语言,让操作系统使用NSLocalizedStrings来完成这些工作。是的,我知道,但我的客户希望这样。我们都知道客户有多烦人;)啊,我明白了;)这是真的^^