gpt4 book ai didi

ios - iOS 12 中新 iOS 13 系统颜色的回退行为

转载 作者:行者123 更新时间:2023-12-04 23:12:01 26 4
gpt4 key购买 nike

我目前正在采用暗模式,我认为使用新的系统颜色,如 systemBackgroundlabel在 Interface Builder 中,在 iOS 12 中运行应用程序时也可以正常工作。我预计会出现编译器错误,但该应用程序看起来像在 iOS 13 浅色模式下。很明显,运行时以某种方式为 iOS 12 转换了这些颜色。

有谁知道幕后发生了什么,以及是否有一种方便的方法可以在代码中实现相同的目标?

最佳答案

如果您查看 Storyboard 的 XML,您将看到如下内容:

<color key="backgroundColor" xcode11CocoaTouchSystemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>

Xcode 11 增加了对这两种颜色的支持。无论何种机制在运行时将 .storyboard 文件转换为 Action ,都需要知道在 iOS 13 中使用哪种颜色以及在 iOS 12 及更早版本中使用哪种颜色所需的信息。

在代码中,您需要类似以下内容:
extension UIColor {
class var mySystemBackground: UIColor {
if #available(iOS 13, *) {
return .systemBackground
} else {
return .white
}
}
}

关于ios - iOS 12 中新 iOS 13 系统颜色的回退行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57364611/

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