iOS CAGradientLayer 使用

weixin_34208283發表於2016-08-08

最近對iOS 動畫非常感興趣,研究漸變圓的實現,在網上找了很多,看了看,沒有直接實現的,找到一個最簡單的實現方法,圖層拼接,下面帶大家先了解一下 CAGradientLayer .

  • 屬性不多易懂
    CAGradientLayer 座標系


    1339729-c2ec801415d3aca9.png
1339729-85ed18e9572367b3.png
Simulator Screen Shot 2016年8月8日 下午6.18.26.png
    
    func createUI1() {
        let gradientLayer           = CAGradientLayer()
        gradientLayer.frame         = self.gradientView.bounds
        self.gradientView.layer.addSublayer(gradientLayer)
        
        // 顏色分配
        gradientLayer.colors        = [UIColor.blackColor().CGColor,UIColor.whiteColor().CGColor]
        
        // 顏色分割線位置( 預設 0,1 )
        gradientLayer.locations     = [0,1]
        
        // 起始點 座標是 左上 (0,0)  右下 (1,1)
        gradientLayer.startPoint    = CGPointMake(0, 0)
        
        // 結束點
        gradientLayer.endPoint      = CGPointMake(1, 0)
    }
    
    func createUI2() {

        let gradientLayer           = CAGradientLayer()
        gradientLayer.frame         = self.gradientView2.bounds
        self.gradientView2.layer.addSublayer(gradientLayer)
        
        gradientLayer.colors        = [UIColor.redColor().CGColor,UIColor.greenColor().CGColor,UIColor.blueColor().CGColor]

        gradientLayer.locations     = [0.25,0.5,0.75]
        
        gradientLayer.startPoint    = CGPointMake(0, 0.5)
        
        gradientLayer.endPoint      = CGPointMake(1, 0.5)

    }

相關文章