gpt4 book ai didi

ios13 - 当应用程序处于后台时,具有不同的颜色外观为真

转载 作者:行者123 更新时间:2023-12-03 21:38:38 34 4
gpt4 key购买 nike

Apple 建议我们使用 traitCollectionDidChange并使用 hasDifferentColorAppearance 比较特征集合以捕捉何时切换暗模式,并在需要时对其采取行动。像这样:

override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
super.traitCollectionDidChange(previousTraitCollection)
if #available(iOS 13.0, *) {
let hasUserInterfaceStyleChanged = previousTraitCollection?.hasDifferentColorAppearance(comparedTo: traitCollection) ?? false
if (hasUserInterfaceStyleChanged) {
//Update UI
}
}
}

我用它来更新 UI,在暗模式和亮模式之间切换时清除一些缓存等。

出于某种原因 traitCollectionDidChange火灾和 hasDifferentColorAppearance无论我是否在设备上启用了暗模式,每次我的应用程序处于后台时都会评估为真。在这种情况下,previousTraitCollection 和当前 traitCollection 似乎从来没有匹配的 interfaceStyles。如果 userInterfaceStyle 实际上没有改变,我宁愿避免在 userInterfaceStyle 改变时进行更新。

这是一个错误,还是我只是错过了什么?

最佳答案

每次应用程序处于后台时,iOS 都会为您的 UI 快照创建浅色和深色外观(以及纵向和横向),以便在应用切换器 UI 中预览您的应用。所以这是完全正常的行为。

关于ios13 - 当应用程序处于后台时,具有不同的颜色外观为真,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58052390/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com