在iOS 9中强制更改语言
问题描述:
当用户登录时,我从服务器获取其语言代码。在iOS 9中强制更改语言
然后我试图强行将此语言设置如下:
let defaults = NSUserDefaults.standardUserDefaults()
defaults.setObject(["de"], forKey: "AppleLanguages")
defaults.synchronize()
但这种变化不会立即反映。
如果我重新启动应用程序,然后正常工作
我也试着重装根视图,但仍然没有工作
我怎么能立即看到改变?
感谢您的时间:)
答
你需要UIAppdelegate创建的实例之前设置在main()函数的语言首选项。
但是,只有当用户登录时才会获得语言首选项,它不会在运行时更改使用的语言。
所以我没有看到任何方式可以使用户在登录后立即开始工作,而不是让用户重新启动应用程序。 (另一种选择是强行杀死该应用程序,但这当然会是非常糟糕的用户体验,并且如果评论者发现它会冒着苹果拒绝的风险)
这可能有帮助,你试过吗? http://stackoverflow.com/questions/1669645/how-to-force-nslocalizedstring-to-use-a-specific-language/20257557#20257557 –