Simple extensions for working with Color
(SwiftUI) and UIColor
(UIKit).
For installation with Swift Package Manager, simply add the following to your Package.swift
:
.package(url: "https://github.com/lipka/Color", from: "0.1.0")
You can use the convenience initializers to initialize a color with a hex code. Supports 12-bit (FFF
), 24-bit (FFFFFF
) and 32-bit RGBA (FFFFFFFF
) hex codes, that can optionally be prefixed with a pound sign.
Color(hex: "FF00FF")
Color(hex: "#F0F", alpha: 0.5)
UIColor(hex: "FF00FF")
UIColor(hex: "#F0F", alpha: 0.5)
You can use the adjust
method to easily adjust all or only specific components of a color.
UIColor.blue.adjust(red: 0.1, green: 0, blue: 0, alpha: 0)
UIColor.blue.adjust(0.1)
This is especially useful for deriving colors for highlighted or selected states. For example when using Button:
import Button
...
let button = Button()
button.setBackgroundColor(.blue, for: .normal)
button.setBackgroundColor(.blue.adjust(0.1), for: .highlighted)
Shorthand notation for creating dynamic colors (light/dark mode).
Color(light: Color.white, dark: Color.black)
UIColor(light: UIColor.white, dark: UIColor.black)