Skip to content

Instantly share code, notes, and snippets.

@cntrump
Created December 6, 2019 03:16
Show Gist options
  • Save cntrump/3be76233216aaede40656349de5772be to your computer and use it in GitHub Desktop.
Save cntrump/3be76233216aaede40656349de5772be to your computer and use it in GitHub Desktop.
add CSS Hex Color support for UIColor with Swift
extension UIColor {
static func hex(_ val: UInt) -> UIColor {
var r: UInt = 0, g: UInt = 0, b: UInt = 0;
var a: UInt = 0xFF
var rgb = val
if (val & 0xFFFF0000) == 0 {
a = 0xF
if val & 0xF000 > 0 {
a = val & 0xF
rgb = val >> 4
}
r = (rgb & 0xF00) >> 8
r = (r << 4) | r
g = (rgb & 0xF0) >> 4
g = (g << 4) | g
b = rgb & 0xF
b = (b << 4) | b
a = (a << 4) | a
} else {
if val & 0xFF000000 > 0 {
a = val & 0xFF
rgb = val >> 8
}
r = (rgb & 0xFF0000) >> 16
g = (rgb & 0xFF00) >> 8
b = rgb & 0xFF
}
//NSLog("r:%X g:%X b:%X a:%X", r, g, b, a)
return UIColor(red: CGFloat(r) / 255.0,
green: CGFloat(g) / 255.0,
blue: CGFloat(b) / 255.0,
alpha: CGFloat(a) / 255.0)
}
}
@cntrump
Copy link
Author

cntrump commented Dec 6, 2019

example:

color: #FFAABB alpha: #DD
CSS Hex Color value is: #FFAABBDD or #FABD

let color: UIColor = .hex(0xFFAABBDD)

or

let color: UIColor = .hex(0xFABD)

so easy ~

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