如何检测我的 AppDelegate 中的 dark/light 模式更改以重置全局 tintColor?

How do I detect dark/light mode changes in my AppDelegate in order to reset global tintColor?

在我的 AppDelegate 中,我设置了全局色调颜色。当用户 enables/disables 暗模式以重置全局色调时,如何通知我?

在我的 AppDelegate 中,我有:

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate
{
    var window: UIWindow?    // To conform with UIApplicationDelegate

    func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [ UIApplication.LaunchOptionsKey : Any ]? ) -> Bool
    {
        window?.tintColor = UIColor.someColor
        ...
    }
}

我需要在深色模式 enabled/disabled 时更新全局色调颜色。我怎样才能检测到这种变化?

  • 在资产目录中定义明暗外观的颜色
  • 使用 UIColor(named: API 在 AppDelegate 中设置色调颜色。颜色会自动改变。