Skip to content

Instantly share code, notes, and snippets.

@Davidkle
Forked from shadcn/gist:de147c42d7b3063ef7bc
Last active August 29, 2015 14:05
Show Gist options
  • Save Davidkle/5125b1ef7f402ac271b7 to your computer and use it in GitHub Desktop.
Save Davidkle/5125b1ef7f402ac271b7 to your computer and use it in GitHub Desktop.
extension UIColor {
// Creates a UIColor from a Hex string.
class func colorWithHexString (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)
let floatRed = CGFloat(r) / 255.0
let floatGreen = CGFloat(g) / 255.0
let floatBlue = CGFloat(b) / 255.0
let floatAlpha = CGFloat(1)
return UIColor(red: floatRed, green: floatGreen, blue: floatBlue, alpha: floatAlpha)
}
}
@Davidkle
Copy link
Author

Works in Beta 6

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment