【swift】グラデーションを描画する

swiftでグラデーションを描画するには、CAGradientLayerを使います。

developer.apple.com

let startColor = UIColor(white: 0, alpha: 0).CGColor
let endColor = UIColor(white: 0, alpha: 1).CGColor

let layer = CAGradientLayer()
layer.colors = [startColor, endColor]
layer.frame = view.bounds

view.layer.addSublayer(layer)

f:id:w6500:20160525201545p:plain:w300

グラデーションをかけたい色を複数渡してあげるだけでした。簡単。

グラデーションの方向を変えたい場合は、startPointendPointを設定します。

// 横方向
layer.startPoint = CGPoint(x: 1, y: 0.5)
layer.endPoint = CGPoint(x: 0, y: 0.5)

// 斜め
layer.startPoint = CGPoint(x: 1, y: 0)
layer.endPoint = CGPoint(x: 0, y: 1)

f:id:w6500:20160525201601p:plain:w300

f:id:w6500:20160525201618p:plain:w300