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
 */
上一篇下一篇

猜你喜欢

热点阅读