Member-only story

Creating a UIColor from hexadecimal number or string (Hex to UIColor) iOS

Mr.Javed Multani
2 min readOct 3, 2020

--

You can create a UIColor from a hexadecimal number or string, e.g. 0xff00cc, “#FFFFFF”

Swift

Int Value

extension UIColor {
convenience init(hex: Int, alpha: CGFloat = 1.0) {let r = CGFloat((hex >> 16) & 0xff) / 255
let g = CGFloat((hex >> 08) & 0xff) / 255
let b = CGFloat((hex >> 00) & 0xff) / 255
self.init(red: r, green: g, blue: b, alpha: alpha)

Example:

let color = UIColor(hex: 0xff00cc, alpha: 1.0)

Note that for alpha the default value of 1.0 is provided, so it can be used as follows:

let color = UIColor(hex: 0xff00cc)

String Value

extension UIColor {
convenience init(hexCode: String) {let hex =
hexCode.stringByTrimmingCharactersInSet(NSCharacterSet.alphanumericCharacterSet().invertedSet)var int = UInt32()
NSScanner(string: hex).scanHexInt(&int)
let a, r, g, b: UInt32switch hex.characters.count {
case 3:(a, r, g, b) = (255, (int >> 8) * 17, (int >> 4 & 0xF) * 17, (int & 0xF) * 17)
case 6:(a, r, g, b) = (255, int >> 16, int >> 8 & 0xFF, int & 0xFF)
case 8:(a, r, g, b) = (int >> 24, int >> 16 & 0xFF, int >> 8 & 0xFF, int & 0xFF)
default:(a, r, g, b) = (1, 1, 1, 0)
}self.init(red: CGFloat(r) / 255, green: CGFloat(g) / 255, blue: CGFloat(b) / 255, alpha:
CGFloat(a) / 255) }
}

--

--

Mr.Javed Multani
Mr.Javed Multani

Written by Mr.Javed Multani

Software Engineer | Certified ScrumMaster® (CSM) | UX Researcher | Youtuber | Tech Writer

No responses yet