swift - layer - 漸變色 - CAGradientLayer
阿新 • • 發佈:2018-12-12
1。建立 漸變色
/// 漸變色:預設從上到下 private var gradientLayer: CAGradientLayer = { let g = CAGradientLayer() g.colors = [UIColor.init(hexColor: "DBB479").cgColor, UIColor.init(hexColor: "F7E1B3").cgColor] //改為從左到右 的漸變 g.startPoint = CGPoint(x: 0, y: 0) g.endPoint = CGPoint(x: 1, y: 0) return g }()
2.給指定view 新增漸變色
/// 榮譽背景圖 private lazy var credibilityBgView : UIView = { let v = UIView() v.layer.addSublayer(self.gradientLayer) v.translatesAutoresizingMaskIntoConstraints = false v.layer.cornerRadius = 5 v.layer.masksToBounds = true v.isUserInteractionEnabled = true v.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(clcikCredibilityBgView))) return v }()
3. 設定 漸變色frame
override func draw(_ rect: CGRect) { super.draw(rect) gradientLayer.frame = credibilityBgView.bounds }