色の表現の仕方はいろいろある、有名な色だったら、直接色の名前打ったり、RGBで指定したり、HEXで指定したり。
Androidやってたり、cssとかでもHEXが割とメジャーだ(と思う
UIColorをHEX値で指定する拡張コード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
extension UIColor { class func hex (var hexStr : NSString, var alpha : CGFloat) -> UIColor { hexStr = hexStr.stringByReplacingOccurrencesOfString("#", withString: "") let scanner = NSScanner(string: hexStr as String) var color: UInt32 = 0 if scanner.scanHexInt(&color) { let r = CGFloat((color & 0xFF0000) >> 16) / 255.0 let g = CGFloat((color & 0x00FF00) >> 8) / 255.0 let b = CGFloat(color & 0x0000FF) / 255.0 return UIColor(red:r,green:g,blue:b,alpha:alpha) } else { print("不正な値だよ") return UIColor.whiteColor(); } } } |
こんな感じの呪文を追加してやればおk。
呼び出すとき
1 |
UIColor.hex("2c3e50", alpha: 1) |
こんな感じで呼び出せる(カンタンだね!
一度、拡張しておけば何回でもこれで呼び出せるので、色複数使うときは便利。