2

观看全新的 WWDC 视频在 iOS 上实现暗模式,我们发现它可以很容易地处理。我们可以使用新的动态系统颜色,它们将根据亮或暗模式具有特定的值。

现在,如何将这个新概念与实施两个以上主题的需求结合起来——以一种干净且面向未来的方式?

我过去曾研究并应用过不同的主题化方法,例如 UIAppearance 方法(例如Ray Wenderlich 的 UIAppearance 教程)或基于协议的自定义动态颜色方法。

以下代码是否适合从找出系统何时需要从亮模式切换到暗模式(反之亦然)开始?然后通过任何可能的“旧”方式更改应用程序范围的颜色?

override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
        super.traitCollectionDidChange(previousTraitCollection)

        if traitCollection.hasDifferentColorAppearance(comparedTo: previousTraitCollection) {
            /// Really have to go from here?
        }
 }
4

0 回答 0