如何在Swift中以编程方式访问系统颜色?

3

我正在尝试以编程方式将UIButton的背景颜色设置为UIColor.systemBlue的颜色,根据UIColor颜色指南的文档,我认为这应该是可以访问的。但是,我只能访问常规颜色,如.blue.red。在界面构建器中,我可以选择systemBlue,但无法以编程方式实现。

我使用Xcode 10.3并构建iOS 12.4。

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


可能是重复问题:https://stackoverflow.com/a/47996017/4757272 - Vollan
可能是 iOS 11.x 系统颜色 的重复问题。 - Roman Podymov
1个回答

5

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


1
我明白了。不过奇怪的是它们在Xcode 10的界面构建器中是可访问的。很遗憾这个事实在文档中没有说明。 - Benjamin Angeria
是的,在Xcode 10的Interface Builder中看到它们很奇怪,因为我找不到任何关于背景颜色或色调颜色之类的“systemBlue”或“System Blue”的信息。而且,是的,苹果的文档需要改进。他们并没有真正说明特定的iOS SDK版本是什么时候可用的 - 他们只说它可以在哪个iOS版本上运行(在systemBlue的情况下,似乎一直到iOS 7,这意味着它必须是私有API,直到Xcode 11)。 - TylerP
1
您可以在IB中从“背景->自定义->颜色调色板”中选择它们,然后从下拉菜单中选择_Developer_。 - Benjamin Angeria

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接