2016-07-07 70 views
1

当用户登录时,我从服务器获取其语言代码。在iOS 9中强制更改语言

然后我试图强行将此语言设置如下:

let defaults = NSUserDefaults.standardUserDefaults() 
defaults.setObject(["de"], forKey: "AppleLanguages") 
defaults.synchronize() 

但这种变化不会立即反映。

如果我重新启动应用程序,然后正常工作

我也试着重装根视图,但仍然没有工作

我怎么能立即看到改变?

感谢您的时间:)

+0

这可能有帮助,你试过吗? http://stackoverflow.com/questions/1669645/how-to-force-nslocalizedstring-to-use-a-specific-language/20257557#20257557 –

回答

0

你需要UIAppdelegate创建的实例之前设置在main()函数的语言首选项。

但是,只有当用户登录时才会获得语言首选项,它不会在运行时更改使用的语言。

所以我没有看到任何方式可以使用户在登录后立即开始工作,而不是让用户重新启动应用程序。 (另一种选择是强行杀死该应用程序,但这当然会是非常糟糕的用户体验,并且如果评论者发现它会冒着苹果拒绝的风险)