访问系统。具有破坏性的红色button颜色

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

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

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

我已经读过RGB解释可以在设备/操作系统上有所不同,所以我想访问设备/操作系统的独立版本的颜色。

UIColor上有一个名为_systemDestructiveTintColor的未_systemDestructiveTintColor类方法,它将返回你需要的颜色:

 let red = UIColor.performSelector("_systemDestructiveTintColor").takeUnretainedValue() 

它返回一个非托pipe对象,你必须调用.takeUnretainedValue() ,因为颜色所有权并没有传递给我们自己的对象。

与任何未公开的API一样,尝试使用此方法时应谨慎:

 if UIColor.respondsToSelector("_systemDestructiveTintColor") { if let red = UIColor.performSelector("_systemDestructiveTintColor").takeUnretainedValue() as? UIColor { // use the color } } 

这个和其他颜色可以在UIColor 标题中find。