Created
April 6, 2016 12:12
-
-
Save grhowes/6dd5f41a70b707f59cd1370ca629633f to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// UIColor+GH.swift | |
// Generally Helpful Software | |
// | |
// Created by Glenn Howes on 1/15/16. | |
// Copyright © 2016 Generally Helpful Software. All rights reserved. | |
// | |
// MIT License | |
import UIKit | |
import Colours | |
@objc class ColorPair: NSObject | |
{ | |
let mainColor: UIColor | |
let highlightColor: UIColor | |
init(mainColor: UIColor, highlightColor: UIColor) | |
{ | |
self.mainColor = mainColor | |
self.highlightColor = highlightColor | |
} | |
} | |
var sGoodColors:[UIColor]? | |
extension UIColor | |
{ | |
class func goodColors()-> [UIColor] | |
{ | |
if sGoodColors == nil | |
{ | |
sGoodColors = [UIColor.infoBlueColor(), UIColor.successColor(), UIColor.warningColor(), | |
UIColor.moneyGreenColor(), UIColor.limeColor(), UIColor.cardTableColor(), | |
//UIColor.salmonColor(), | |
//UIColor.brickRedColor(), UIColor.grapefruitColor(), UIColor.pinkColor(), | |
UIColor.indianRedColor(), UIColor.strawberryColor(), UIColor.maroonColor(), | |
// UIColor.watermelonColor(), UIColor.tomatoColor(), UIColor.crimsonColor(), | |
UIColor.dangerColor(), UIColor.black25PercentColor(), UIColor.tealColor(), | |
UIColor.steelBlueColor(), UIColor.robinEggColor(), UIColor.pastelBlueColor(), | |
UIColor.turquoiseColor(), UIColor.skyBlueColor(), UIColor.indigoColor(), | |
UIColor.denimColor(), UIColor.blueberryColor(), UIColor.cornflowerColor(), | |
UIColor.midnightBlueColor(), UIColor.fadedBlueColor(), UIColor.waveColor(), | |
UIColor.emeraldColor(), UIColor.grassColor(), UIColor.seafoamColor(), UIColor.cactusGreenColor(), | |
//UIColor.chartreuseColor(), | |
UIColor.hollyGreenColor(), UIColor.oliveColor(), | |
UIColor.eggplantColor(), UIColor.pastelPurpleColor(), UIColor.coolPurpleColor(), | |
UIColor.plumColor(), UIColor.raspberryColor(), UIColor.fuschiaColor(), UIColor.grapeColor(), | |
UIColor.periwinkleColor(), UIColor.orchidColor(), UIColor.goldenrodColor(), UIColor.mustardColor(), | |
UIColor.goldColor(), UIColor.peachColor(), UIColor.burntOrangeColor(), | |
UIColor.cantaloupeColor(), UIColor.carrotColor(), UIColor.mandarinColor(), UIColor.chiliPowderColor() | |
] | |
} | |
return sGoodColors! | |
} | |
class func colorSchemeForName(name: String)->ColorPair | |
{ | |
let myColors = goodColors() | |
let maxColor = myColors.count | |
let hash = abs(name.hash) | |
let index = hash % maxColor | |
let mainColor = myColors[index] | |
let highlightColor = mainColor.blackOrWhiteContrastingColor() | |
return ColorPair(mainColor: mainColor, highlightColor: highlightColor) | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Requires the Colours framework, available via Cocoapod.