看看全新的WWDC视频Implementing Dark Mode on iOS,我们发现它很容易处理。我们可以使用新的动态系统颜色,它们将具有特定的值,具体取决于明暗模式。
现在,如何将这个新概念与实施两个以上主题的需要结合在一起?以一种干净且面向未来的方式实现?
过去,我研究并应用了不同的主题方法,例如UIAppearance方法(例如Ray Wenderlich´s UIAppearance Tutorial)或基于协议的自定义动态颜色方法。
以下代码是否适合作为开始位置,以找出系统何时需要从亮模式切换到暗模式,反之亦然?然后通过以任何可能的“旧”方式更改应用程序范围的颜色?
override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
super.traitCollectionDidChange(previousTraitCollection)
if traitCollection.hasDifferentColorAppearance(comparedTo: previousTraitCollection) {
/// Really have to go from here?
}
}