使用 systemBlueColor 作为按钮背景

Using systemBlueColor as a button background

正在尝试使用 systemBlueColor 作为按钮的背景。

[myButton setBackgroundColor:[UIColor systemBlueColor]];

但是,我收到错误 No known class method for selector 'systemBlueColor'

如果我使用像 blueColor 或 greenColor 这样的非自适应颜色,它就可以正常工作。有什么想法吗?

谢谢!

systemBlueColor 和其他 systemXXXColor class 属性(.systemBlue 和 Swift 中的其他 .systemXXX)已添加到 iOS 13 和 Xcode 11。奇怪的是,这些颜色的文档说明它们在 iOS 7+ 中受支持。

我 运行 在我的一个支持 iOS 9+ 的项目中进行了测试,实际上这些颜色可以在 iOS 13.

之前使用

这意味着这些颜色实际上自 iOS 7 以来就已经存在,但它们是私有的,现在从 iOS 13 开始制作 public。但是为了使用它们,您需要Xcode 11 和 iOS 13 的基础 SDK。然后这些颜色将可用于返回到 iOS 7 的部署目标。

但请注意 iOS 13 还添加了其他几种颜色,称为 "UI Element Colors"。这些包括 labelColorsystemBackgroundColor 等颜色(Swift 中的 .label.systemBackground)。这些仅适用于 iOS 13 及更高版本。