访问系统。破坏性的红色按钮颜色

时间:2016-03-21 19:00:49

标签: ios swift uicolor

如何访问用于破坏性警报按钮样式的系统红色?

例如,可以通过let systemBlueColor = view.tintColor在Swift中访问用于按钮的默认样式蓝色,对应UIColor(red: 0, green: 122, blue: 255, alpha: 1.0)

破坏性的红色似乎是UIColor(red: 255, green: 59, blue: 48, alpha: 1.0)给出的,但有没有办法以与默认view.tintColor方法类似的方式访问它?

我已经读过RGB解释因设备/操作系统而异,所以我想访问设备/操作系统独立版本的颜色。

1 个答案:

答案 0 :(得分:4)

在名为UIColor的{​​{1}}上有一个未记录的类方法,它将返回您需要的颜色:

_systemDestructiveTintColor

它返回一个非托管对象,您必须在其上调用let red = UIColor.performSelector("_systemDestructiveTintColor").takeUnretainedValue() ,因为颜色所有权尚未转移到我们自己的对象。

与任何未记录的API一样,在尝试使用此方法时应小心:

.takeUnretainedValue()

可以在UIColor header中找到此颜色和其他颜色。