iOS CAGradientLayer顏色漸變

Oranges發表於2017-12-13

Gradient:本身就是梯度的意思,所以在這裡就是作為漸變色來理解

  • CAGradientLayer用於處理漸變色的層結構
  • CAGradientLayer的漸變色可以做隱式動畫
  • 大部分情況下,CAGradientLayer時和CAShapeLayer配合使用,CAShapeLayer這裡就不介紹了

CAGradientLayer屬性介紹:

  • colors:顏色分配,這裡至少要有2種顏色 //@property(nullable, copy) NSArray *colors;
  • locations:顏色分割線,顏色之間的界限 //@property(nullable, copy) NSArray<NSNumber *> *locations;
  • startPoint:顏色起始點 //@property CGPoint startPoint;
  • endPoint:顏色結束點 //@property CGPoint endPoint;
    座標系統.png
    說明: (0,0)到(1,0)和(0,1)到(1,1)都是水平從左向右漸變; (0,0)到(1,1)是從左上角向右下角漸變; (0,1)到(1,0)室從左下角向右上角漸變。 主要程式碼: 兩種顏色漸變:
    圖1.png
    效果圖:
    圖2.png
    改變CAGradientLayer的endPoint //結束點end gradientLayer.endPoint = CGPointMake(0, 1); 效果圖:
    圖3.png
    三種顏色
    圖4.png
    效果圖:
    圖5.png
    說明: gradientLayer.locations = @[@(0.2),@(0.5),@(0.7)]; 這句註釋掉,讓我看看效果圖
    圖6.png
    結語: 寫程式碼難免出錯,有不對的地方,歡迎指正,一起學習 座標系統圖摘自作者Bear

相關文章