我试图在Swift中使用十六进制颜色值,而不是几个标准的UIColor允许你使用,但我不知道如何做到。
例如:我如何使用#ffffff作为颜色?
#ffffff实际上是十六进制符号的三个颜色分量 – 红色ff,绿色ff和蓝色ff。您可以使用0x前缀(例如0xFF)在Swift中编写十六进制符号
为了简化转换,让我们创建一个接受整数(0 – 255)值的初始化器:
extension UIColor { convenience init(red: Int,green: Int,blue: Int) { assert(red >= 0 && red <= 255,"Invalid red component") assert(green >= 0 && green <= 255,"Invalid green component") assert(blue >= 0 && blue <= 255,"Invalid blue component") self.init(red: CGFloat(red) / 255.0,green: CGFloat(green) / 255.0,blue: CGFloat(blue) / 255.0,alpha: 1.0) } convenience init(netHex:Int) { self.init(red:(netHex >> 16) & 0xff,green:(netHex >> 8) & 0xff,blue:netHex & 0xff) } }
用法:
var color = UIColor(red: 0xFF,green: 0xFF,blue: 0xFF) var color2 = UIColor(netHex:0xFFFFFF)