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)