【问题标题】:How to access the system colors programmatically in Swift?如何在 Swift 中以编程方式访问系统颜色?
【发布时间】:2019-12-10 20:06:48
【问题描述】:

我正在尝试以编程方式将 UIButton 的背景颜色设置为颜色UIColor.systemBlue,我认为根据UIColorcolor guidelines 的文档应该可以访问该颜色。但是,我只能访问常规颜色,例如.blue.red。在界面生成器中,我可以选择systemBlue,但不能以编程方式选择。

我正在使用 Xcode 10.3 并为 iOS 12.4 构建。

编辑: 我已经看到了iOS 11.x system colors 的问题,但这没有任何意义。在颜色指南中明确指出,系统颜色值不应硬编码,而应使用 API。在 UIColor 文档中,系统颜色似乎可以作为 UIColor 的公共类变量访问。

【问题讨论】:

标签: ios swift uicolor


【解决方案1】:

这些系统颜色仅在使用 iOS 13 SDK 时可用,这意味着您必须使用 Xcode 11,而不是 Xcode 10.3。

【讨论】:

  • 我明白了。奇怪的是,它们可以在 Xcode 10 的界面构建器中访问。太糟糕了,这个事实在任何地方的文档中都没有说明。
  • 是的,你在 Xcode 10 的 Interface Builder 中看到它们很奇怪,因为我似乎找不到任何关于背景颜色或色调等内容的“systemBlue”或“System Blue”颜色。是的,Apple 的文档可以使用一些工作。他们并没有真正说明某个特定的东西在哪个版本的 iOS SDK 中可用——他们只是说它可以在哪个版本的 iOS 上运行(在 systemBlue 的情况下,一直向下对于 iOS 7 来说,这意味着在 Xcode 11 之前它一定是私有 API)。
  • 您可以在 IB 中从 Background -> Custom -> Color Palettes 中选择它们,然后从下拉菜单中选择 Developer
猜你喜欢
  • 1970-01-01
  • 2016-12-07
  • 1970-01-01
  • 1970-01-01
  • 2017-04-19
  • 1970-01-01
  • 1970-01-01
  • 2021-05-17
  • 2021-07-01
相关资源
最近更新 更多