Skip to content

Instantly share code, notes, and snippets.

@barrault01
Forked from shadcn/gist:de147c42d7b3063ef7bc
Last active August 29, 2015 14:05
Show Gist options
  • Save barrault01/bb822d9cb16a9d9eefcb to your computer and use it in GitHub Desktop.
Save barrault01/bb822d9cb16a9d9eefcb to your computer and use it in GitHub Desktop.
// Creates a UIColor from a Hex string.
func colorWithHexInString(hex : String) -> UIColor {
var cString:String = hex.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet()).uppercaseString
if (cString.hasPrefix("#")) {
cString = cString.substringFromIndex(advance(cString.startIndex, 1))
}
if (countElements(cString) != 6) {
return UIColor.grayColor()
}
var rString = cString.substringToIndex(advance(cString.startIndex, 2))
var gString = cString.substringFromIndex(advance(cString.startIndex, 2)).substringToIndex(advance(cString.startIndex, 2))
var bString = cString.substringFromIndex(advance(cString.startIndex, 4)).substringToIndex(advance(cString.startIndex, 2))
var r:CUnsignedInt = 0, g:CUnsignedInt = 0, b:CUnsignedInt = 0;
NSScanner.scannerWithString(rString).scanHexInt(&r)
NSScanner.scannerWithString(gString).scanHexInt(&g)
NSScanner.scannerWithString(bString).scanHexInt(&b)
var red = CGFloat(r)/255.0
var green = CGFloat(g)/255.0
var blue = CGFloat(b)/255.0
var alpha = CGFloat(1)
return UIColor(red: red, green: green, blue: blue, alpha: alpha)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment