Swift3.0 HexColor转UIColor

2017-04-26  本文已影响44人  Bager

extension UIColor{

classfunchex(hex:String) ->UIColor{

varcolorString = hex.trimmingCharacters(in:CharacterSet.whitespacesAndNewlines).uppercased()

if(colorString.hasPrefix("#")) {

letindex = colorString.index(colorString.startIndex, offsetBy:1)

colorString = colorString.substring(from: index)

}

if(colorString.characters.count!=6) {

returnUIColor.red

}

letredIndex = colorString.index(colorString.startIndex, offsetBy:2)

letredString = colorString.substring(to: redIndex)

letotherString = colorString.substring(from: redIndex)

letgreenIndex = otherString.index(otherString.startIndex, offsetBy:2)

letgreenString = otherString.substring(to: greenIndex)

letblueIndex = colorString.index(colorString.endIndex, offsetBy:-2)

letblueString = colorString.substring(from: blueIndex)

varred:CUnsignedInt=0, green:CUnsignedInt=0, blue:CUnsignedInt=0;

Scanner(string: redString).scanHexInt32(&red)

Scanner(string: greenString).scanHexInt32(&green)

Scanner(string: blueString).scanHexInt32(&blue)

returnUIColor(red:CGFloat(red) /255.0, green:CGFloat(green) /255.0, blue:CGFloat(blue) /255.0, alpha:CGFloat(1))

}

}

Demo:

lethexColor =UIColor.hex(hex:"#FFFFFF")

上一篇下一篇

猜你喜欢

热点阅读