swift 4.2中16进制color类别扩展
2018-11-14 本文已影响0人
雾霭天涯
import UIKit
extension UIColor {
vartoHexString:String{
varr:CGFloat=0
varg:CGFloat=0
varb:CGFloat=0
vara:CGFloat=0
self.getRed(&r, green: &g, blue: &b, alpha: &a)
returnString(
format:"%02X%02X%02X",
Int(r *0xff),
Int(g *0xff),
Int(b *0xff)
)
}
convenience init(hex: String) {
letscanner =Scanner(string: hex)
scanner.scanLocation=0
varrgbValue:UInt64=0
scanner.scanHexInt64(&rgbValue)
letr = (rgbValue &0xff0000) >>16
letg = (rgbValue &0xff00) >>8
letb = rgbValue &0xff
self.init(
red:CGFloat(r) /0xff,
green:CGFloat(g) /0xff,
blue:CGFloat(b) /0xff, alpha:1
)
}
}
/*
//use example:
let color = UIColor.red
let hex = color.toHexString
// hex == "FF0000"
let color = UIColor(hex: "ff0000")
//color == UIColor.red
*/