traitCollectionDidChange

traitCollectionDidChange

override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
    super.traitCollectionDidChange(previousTraitCollection)
    if traitCollection.hasDifferentColorAppearance(comparedTo: previousTraitCollection) {
        print("changed")
    }
}

iOS 13应用程序只是在不更改模式(亮/暗)的情况下进入后台,但调用了“打印”功能。是否可以确定模式真正改变的时刻?

谢谢你。

最佳答案

我自己也观察到了这一点。
一旦您进入后台,用户界面就会切换,但是-它会立即切换回去。
我想您应该简单地跟随更改并根据需要使用react。
您可以通过检查traitCollection.userInterfaceStyle来找到当前的界面样式。
例如:let isDark = traitCollection.userInterfaceStyle == .dark

关于ios - traitCollectionDidChange奇怪的行为,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59139757/

10-09 02:34