如何访问用于破坏性警报按钮样式的系统红色?
例如,可以通过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解释因设备/操作系统而异,所以我想访问设备/操作系统独立版本的颜色。
答案 0 :(得分:4)
在名为UIColor
的{{1}}上有一个未记录的类方法,它将返回您需要的颜色:
_systemDestructiveTintColor
它返回一个非托管对象,您必须在其上调用let red = UIColor.performSelector("_systemDestructiveTintColor").takeUnretainedValue()
,因为颜色所有权尚未转移到我们自己的对象。
与任何未记录的API一样,在尝试使用此方法时应小心:
.takeUnretainedValue()
可以在UIColor header中找到此颜色和其他颜色。