Swiftで左から右にグラデーションがかかるViewを作る
連日のSwiftメモです。
作りたい物
こんな感じで左から右にグラデーションがかかるボタンを作ります。
ソースコード
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を用意していますが、色はどう指定しても構いません。