LoginSignup
1
0

More than 5 years have passed since last update.

カラーコードから色を生成するExtension (RGB & HEX)

Posted at

I'm sure that a lot of people already noted about this topic, but just let me note in Qiita lol

Purpose

Personal Note

Development Environment

  • OS X El Captain 10.11.2
  • Xcode Version 8.0

Language

Swift 3.0

Source Code

UIColor+Extension.swift
import UIKit

extension UIColor{
    /* HEX */
    func hex ( value : String, alpha : CGFloat) -> UIColor {
        var value = value
        let alpha = alpha
        var color: UInt32 = 0
        value = (value.replacingOccurrences(of: "#", with: ""))
        let scanner = Scanner(string: value)
        if scanner.scanHexInt32(&color) {
            let r = CGFloat((color & 0xFF0000) >> 16) / 255.0
            let g = CGFloat((color & 0x00FF00) >> 8) / 255.0
            let b = CGFloat(color & 0x0000FF) / 255.0
            return UIColor(red: r, green: g, blue: b, alpha: alpha)
        } else {
            print("Error. Not Found Colour.")
            return UIColor.black
        }
    }
    func yourFavoriteColorFromHex() -> UIColor{
        return self.hex(value: "1e90ff", alpha: 1.0)
    }

    /* RGB */
    func getColorFromRGB(value: UInt, alpha: CGFloat) -> UIColor {
        return UIColor(
            red: CGFloat((value & 0xFF0000) >> 16) / 255.0,
            green: CGFloat((value & 0x00FF00) >> 8) / 255.0,
            blue: CGFloat(value & 0x0000FF) / 255.0,
            alpha: CGFloat(alpha)
        )
    }

    func yourFavoriteColorFromRGB() -> UIColor{
        return self.getColorFromRGB(value: 0x9900FF, alpha: 1.0)
    }
}

How to use

label.textColor = UIColor().yourFavoriteColorFromHex()
label.backgroundColor = UIColor().yourFavoriteColorFromRGB()

Resource

RGB Color Code: http://www.nthelp.com/colorcodes.htm
Hex Color Code: http://www.color-hex.com/

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0