在iOS 13中-如何实现两个以上的色彩模式/主题?

时间:2019-06-06 15:47:44

标签: ios swift uiappearance uitraitcollection

看看全新的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?
        }
 }

0 个答案:

没有答案