How to create a hex color string UIColor initializer in Swift? [duplicate]

Xcode 9 • Swift 4 or later extension UIColor { convenience init?(hexaRGB: String, alpha: CGFloat = 1) { var chars = Array(hexaRGB.hasPrefix(“#”) ? hexaRGB.dropFirst() : hexaRGB[…]) switch chars.count { case 3: chars = chars.flatMap { [$0, $0] } case 6: break default: return nil } self.init(red: .init(strtoul(String(chars[0…1]), nil, 16)) / 255, green: .init(strtoul(String(chars[2…3]), nil, 16)) … Read more

Check if UIColor is dark or bright?

W3C has the following: http://www.w3.org/WAI/ER/WD-AERT/#color-contrast If you’re only doing black or white text, use the color brightness calculation above. If it is below 125, use white text. If it is 125 or above, use black text. edit 1: bias towards black text. 🙂 edit 2: The formula to use is ((Red value * 299) + … Read more

Extract RGB Values From UIColor

You can convert UIColor to CIColor and then extract the color components from it as follow: Update: Xcode 8.3.2 • Swift 3.1 extension UIColor { var coreImageColor: CIColor { return CIColor(color: self) } var components: (red: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat) { let coreImageColor = self.coreImageColor return (coreImageColor.red, coreImageColor.green, coreImageColor.blue, coreImageColor.alpha) } } … Read more

Programmatically create a UIView with color gradient

Objective-C: UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 50)]; CAGradientLayer *gradient = [CAGradientLayer layer]; gradient.frame = view.bounds; gradient.colors = @[(id)[UIColor whiteColor].CGColor, (id)[UIColor blackColor].CGColor]; [view.layer insertSublayer:gradient atIndex:0]; Swift: let view = UIView(frame: CGRect(x: 0, y: 0, width: 320, height: 50)) let gradient = CAGradientLayer() gradient.frame = view.bounds gradient.colors = [UIColor.white.cgColor, UIColor.black.cgColor] view.layer.insertSublayer(gradient, at: 0) Info: … Read more