我正在使用下面的代码切换到一种语言:
-(void) switchToLanguage:(NSString *)lang{
[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:lang, nil]
forKey:@"AppleLanguages"];
[[NSUserDefaults standardUserDefaults] synchronize];
[sliderViewController refreshView];
}
不知道对不对。之后,在sliderViewController的刷新 View 函数中:
-(void)refreshView{
slideLabel.text = NSLocalizedString(@"To Menu", @"To Menu");
slogan.text = NSLocalizedString(@"Categories", @"Categories");
}
但它不起作用。我哪里错了?
最佳答案
设置 AppleLanguages
键仅在调用 UIApplicationMain
之前在 main.m
文件中起作用。如果您在任何其他时间尝试更改它的值,它将不起作用。
如果您希望支持在运行时更改语言,您将不得不推出自己的本地化功能。
关于ios - 切换到一种语言并在 IOS 中重新加载 ViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10011106/