1. 程式人生 > >swift - layer - 漸變色 - CAGradientLayer

swift - layer - 漸變色 - CAGradientLayer

 

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
    }