HexColor is a small library that converts colors from hex notation (e.g. #eb5e34) to the commonly used standard color objects NSColor (for macOS) or UIColor (for iOS, tvOS and watchOS).
Usage
Call the static function fromHexString on NSColor and pass a string containing a hex color value:
let color = NSColor.fromHexString("#eb5e34") ?? .white
The function returns an NSColor object.
Invalid hex color codes will result in nil. You can use the ?? syntax to default to another color in that case.
The # character in the hex string is optional and can be omitted:
let color = NSColor.fromHexString("eb5e34")
The shorthand 3 digit notation can be used, too:
let color = NSColor.fromHexString("e53") // same hex color code as "ee5533"
The alpha channel is taken from the hex string, if available:
let color = NSColor.fromHexString("eb5e34cc") // the "cc" will convert to the alpha value 0.8
If not available, it is assumed to be “ff” and the alpha value will be 1.
The alpha value can be set explicitly. In this case, the alpha part from the hex string is ignored:
let color = NSColor.fromHexString("eb5e34cc", alpha: 0.5) // ignores "cc" and uses alpha value 0.5
You can convert to UIColor with the same function that is provided for NSColor:
let color = UIColor.fromHexString("#eb5e34") ?? .white
If you need the colors to be converted to more general structures, you can use the functions defined in the HexColor struct (needs import HexColor):
let integer = HexColor.intFromHexString("#eb5e34") //returns the integer value 0xeb5e34ff
let (r, g, b, a) = HexColor.rgbaFromInt(0xeb5e34ff) //returns a tuple containing the (red, green, blue, alpha) CGFloat color components
Installation
Swift Package Manager
This library is a Swift Module and can be used as a dependency in a Package.swift file:
#️⃣ HexColor
HexColor is a small library that converts colors from hex notation (e.g. #eb5e34) to the commonly used standard color objects NSColor (for macOS) or UIColor (for iOS, tvOS and watchOS).
Usage
Call the static function
fromHexString
onNSColor
and pass a string containing a hex color value:The function returns an
NSColor
object.Invalid hex color codes will result in
nil
. You can use the??
syntax to default to another color in that case.The
#
character in the hex string is optional and can be omitted:The shorthand 3 digit notation can be used, too:
The alpha channel is taken from the hex string, if available:
If not available, it is assumed to be “ff” and the alpha value will be 1.
The alpha value can be set explicitly. In this case, the alpha part from the hex string is ignored:
You can convert to
UIColor
with the same function that is provided forNSColor
:If you need the colors to be converted to more general structures, you can use the functions defined in the
HexColor
struct (needsimport HexColor
):Installation
Swift Package Manager
This library is a Swift Module and can be used as a dependency in a
Package.swift
file:import HexNSColor
on macOS orimport HexUIColor
on iOS/tvOS/watchOS.Copy Source Files
Alternatively, you can simply copy the source files into your project.
You need the file
Sources/HexColor/HexColor.swift
.And additionally
Sources/HexNSColor/NSColorExtensions.swift
for macOS orSources/HexUIColor/UIColorExtensions.swift
for iOS/tvOS/watchOS.