Skip to content

lipka/Color

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Color

Version Build Status Swift Version

Simple extensions for working with Color (SwiftUI) and UIColor (UIKit).

Installation

Swift Package Manager

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")

Usage

Hex Colors

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)

Adjusting Colors

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)

Dynamic Colors

Shorthand notation for creating dynamic colors (light/dark mode).

Color(light: Color.white, dark: Color.black)

UIColor(light: UIColor.white, dark: UIColor.black)