2017-07-03 43 views
1

我将在我要编写的代码中将这些语言更改用作触发器。如何在应用程序运行时检测用户是否更改了iPhone系统语言设置?

例如:

if languageHasChanged() { 
    //do something 
} 
+0

系统过帐上的区域设置的改变的通知('currentLocaleDidChangeNotification')。你可以在这里的文档中找到更多信息:https://developer.apple.com/documentation/foundation/nslocale/1418141-currentlocaledidchangenotificati – Alladinian

回答

3

注册NSLocale.currentLocaleDidChangeNotification通知。

NotificationCenter.default.addObserver(self, selector: #selector(localeChanged), name: NSLocale.currentLocaleDidChangeNotification, object: nil) 

func localeChanged() { 

} 
1

如果NSLocale.currentLocaleDidChangeNotification不可用,你可以在applicationWillTerminateapplicationWillEnterBackground实际语言环境存储在一个变量,而在applicationDidBecomeActive比较它的语言环境。

+0

这个也可以,我试过了 –

相关问题