我试图在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)