俺、サービス売って家買うんだ

Swift, Kotlin, Vue.js, 統計, GCP / このペースで作ってればいつか2-3億で売れるのがポっと出来るんじゃなかろうか

Swiftで左から右にグラデーションがかかるViewを作る

f:id:ie-kau:20151120074851p:plain


連日のSwiftメモです。

作りたい物

こんな感じで左から右にグラデーションがかかるボタンを作ります。

f:id:ie-kau:20170323192947p:plain

ソースコード

buttonViewがグラデーションをかける対象のViewとなります。

 //グラデーションの設定
let gradientLayer = CAGradientLayer()
gradientLayer.frame = buttonView.bounds
let color1 = UIColor.hexStr(hexStr: "#a6a1ff", alpha: 1.0).cgColor as CGColor
let color2 = UIColor.hexStr(hexStr: "#f871d0", alpha: 1.0).cgColor as CGColor
gradientLayer.colors = [color1, color2]
gradientLayer.startPoint = CGPoint(x: 0.0, y: 1.0)
gradientLayer.endPoint = CGPoint(x: 1.0, y: 1.0)
buttonView.layer.insertSublayer(gradientLayer,at:0)
buttonView.layer.cornerRadius = 5
buttonView.clipsToBounds = true

これでOK! 16進数のカラーコードを扱うextensionを用意していますが、色はどう指定しても構いません。