iOS CAGradientLayer颜色渐变

2,377 阅读1分钟

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