グラデーションのUIを作るときの簡単な流れをメモ程度に。
CAGradientLayerを使います。
グラデーション
(特に色調・明暗など)段階的変化。階調。
・実装コード
let gradient = CAGradientLayer()
gradient.frame = self.bounds
gradient.cornerRadius = self.layer.cornerRadius
let leftColor = UIColor(hex: "6B2133", alpha: 0.3).CGColor
let centerColor = UIColor(hex: "EF4F78", alpha: 0.5).CGColor
let rightColor = UIColor(hex: "FE3A3A", alpha: 1).CGColor
gradient.colors = [leftColor, centerColor, rightColor]
// 3分割
let leftPosition = NSNumber(float: 0.0)
let centerPosition = NSNumber(float: 0.5)
let rightPosition = NSNumber(float: 1.0)
// startPointとendPointを指定しないと上から下に向かってのレイヤーになる
gradient.startPoint = CGPointMake(0.0, 0.5)
gradient.endPoint = CGPointMake(1.0, 0.5)
gradient.locations = [leftPosition, centerPosition, rightPosition]
self.layer.insertSublayer(gradient, atIndex: 0)
今回の流れ
1.カスタムのUIViewを作ってサブレイヤーにCAGradientLayerを追加する
2.UISliderのminとmaxの画像を空にする
self.setMinimumTrackImage(UIImage(), forState: .Normal)
self.setMaximumTrackImage(UIImage(), forState: .Normal)
nilをいれるとデフォルトの薄い線が入ってしまうので空画像で
3.1で作ったviewはバックグラウンドとして使用する
終わり