| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- //
- // UIColor.swift
- // Gasteizko Margolariak
- //
- // Created by Yuji Hato on 11/5/15.
- // Copyright © 2015 Yuji Hato. All rights reserved.
- //
- import UIKit
- extension UIColor {
- convenience init(hex: String) {
- self.init(hex: hex, alpha:1)
- }
- convenience init(hex: String, alpha: CGFloat) {
- var hexWithoutSymbol = hex
- if hexWithoutSymbol.hasPrefix("#") {
- hexWithoutSymbol = hex.substring(1)
- }
-
- let scanner = NSScanner(string: hexWithoutSymbol)
- var hexInt:UInt32 = 0x0
- scanner.scanHexInt(&hexInt)
-
- var r:UInt32!, g:UInt32!, b:UInt32!
- switch (hexWithoutSymbol.length) {
- case 3: // #RGB
- r = ((hexInt >> 4) & 0xf0 | (hexInt >> 8) & 0x0f)
- g = ((hexInt >> 0) & 0xf0 | (hexInt >> 4) & 0x0f)
- b = ((hexInt << 4) & 0xf0 | hexInt & 0x0f)
- break;
- case 6: // #RRGGBB
- r = (hexInt >> 16) & 0xff
- g = (hexInt >> 8) & 0xff
- b = hexInt & 0xff
- break;
- default:
- // TODO:ERROR
- break;
- }
-
- self.init(
- red: (CGFloat(r)/255),
- green: (CGFloat(g)/255),
- blue: (CGFloat(b)/255),
- alpha:alpha)
- }
- }
|