iOS 暗光模式不更新 UIViewController

问题描述

我在使用 Xcode 12.3 的 iOS 项目中遇到问题。应用程序专为明暗模式而设计,如果我们在应用程序关闭时更改明暗模式,则它可以正常工作,但是如果在后台发送应用程序并更改模式并恢复应用程序,则当前 UIViewController 不会更新暗/明模式。您可以在下面查看。

http://g.recordit.co/0LtJsLLkfe.gif

解决方法

当用户界面样式改变时,系统调用 func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) 这个委托方法

请在此方法中刷新您的程序分配颜色

   override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
        super.traitCollectionDidChange(previousTraitCollection)
        if(traitCollection.userInterfaceStyle == .dark){
            // set your Dark UI
        } else {
            // set your Light UI
        }
    }