我在iPad应用程序中使用InAppSettingsKit,包括英语,德语和日语的本地化字符串。一切正常,但我希望能够在应用程序内切换语言,InAppSettingsKit似乎不支持此功能。这是我的showSettings方法:
// show the inapp settings view
-(void) showSettings
{
IASKAppSettingsViewController *settingsViewController = [[IASKAppSettingsViewController alloc] initWithStyle:UITableViewStyleGrouped];
settingsViewController.delegate = self;
settingsViewController.showDoneButton = YES;
UINavigationController* navController = [[UINavigationController alloc] initWithRootViewController:settingsViewController];
[self presentModalViewController:navController animated:NO];
}
因此,每次都会重新创建VC设置,但是设置似乎从最初的应用开始就重新使用了语言选择。
用户的语言选择既被写入我在
[NSUserDefaults standardUserDefaults]
中的私有“语言”设置中,也被写入“ AppleLanguages”数组中。旧语言信息在哪里/如何缓存?
最佳答案
这是iOS的标准行为,通常您不希望更改它。您可以使用NSUserDefaults中的AppleLanguages键(或其他键)来更改它,但是AFAIK在应用程序启动后,当前语言始终是静态的。