切换到语言并在IOS中重新加载ViewController

时间:2012-04-04 12:29:04

标签: ios

我使用下面的代码切换到一种语言:

-(void) switchToLanguage:(NSString *)lang{
[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:lang, nil] 
          forKey:@"AppleLanguages"];
[[NSUserDefaults standardUserDefaults] synchronize];
[sliderViewController refreshView];
}

我不确定它是否正确。之后,在sliderViewController的刷新视图函数中:

-(void)refreshView{
slideLabel.text = NSLocalizedString(@"To Menu", @"To Menu");
slogan.text = NSLocalizedString(@"Categories", @"Categories");
}

但它不起作用。我哪里错了?

1 个答案:

答案 0 :(得分:2)

在调用AppleLanguages之前,设置main.m密钥仅适用于UIApplicationMain文件。如果您尝试在任何其他时间更改其值,则无效。

如果您希望支持在运行时更改语言,则必须使用自己的本地化功能。