Want to initialize a UIColor object from a hex code?
Create a new Swift class named “UIColor+FromRGB.swift” with the following content:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
import UIKit extension UIColor { static func fromRGB(colorCode: String, alpha: Float = 1.0) -> UIColor { let scanner = NSScanner(string:colorCode) var color:UInt32 = 0; scanner.scanHexInt(&color) let mask = 0x000000FF let r = CGFloat(Float(Int(color >> 16) & mask)/255.0) let g = CGFloat(Float(Int(color >> 8) & mask)/255.0) let b = CGFloat(Float(Int(color) & mask)/255.0) return UIColor(red: r, green: g, blue: b, alpha: CGFloat(alpha)) } static func fromRGB(colorCode: UInt) -> UIColor { let mask = 0x000000FF let r = CGFloat(Float(Int(colorCode >> 16) & mask)/255.0) let g = CGFloat(Float(Int(colorCode >> 8) & mask)/255.0) let b = CGFloat(Float(Int(colorCode) & mask)/255.0) return UIColor(red: r, green: g, blue: b, alpha: CGFloat(1.0)) } } |
Initializing a UIColor object then is now a matter of a one-liner, e.g.:
|
filter.backgroundColor = UIColor.fromRGB("00B997"); |