// Returns black if the given background color is light or white if the given color is dark func textColor(bgColor: UIColor) -> UIColor { var r: CGFloat = 0.0 var g: CGFloat = 0.0 var b: CGFloat = 0.0 var a: CGFloat = 0.0 var brightness: CGFloat = 0.0 bgColor.getRed(&r, green: &g, blue: &b, alpha: &a) // algorithm from: http://www.w3.org/WAI/ER/WD-AERT/#color-contrast brightness = ((r * 299) + (g * 587) + (b * 114)) / 1000; if (brightness < 0.5) { return UIColor.white() } else { return UIColor.black() } }