向来才疏学浅,之前写的内容过于简单而且有理解错误的地方,在此向各位小伙伴儿们道歉,并作更新和补充~
需要Demo的话烦请移步github:渐变色的实现方法
1. CAGradientLayer实现渐变
CAGradientLayer是CALayer的一个特殊子类,用于生成颜色渐变的图层,使用较为方便,下面介绍下它的相关属性:colors 渐变的颜色
locations 渐变颜色的分割点startPoint&endPoint 颜色渐变的方向,范围在(0,0)与(1.0,1.0)之间,
如(0,0)(1.0,0)代表水平方向渐变,
(0,0)(0,1.0)代表竖直方向渐变
CAGradientLayer实现渐变标间简单直观,但存在一定的局限性,比如无法自定义整个渐变区域的形状,如环形、曲线形的渐变。
CAGradientLayer *gradientLayer = [CAGradientLayer layer];
gradientLayer.colors = @[(__bridge id)[UIColor redColor].CGColor, (__bridge id)[UIColor yellowColor].CGColor, (__bridge id)[UIColor blueColor].CGColor];
gradientLayer.locations = @[@0.3, @0.5, @1.0];
gradientLayer.startPoint = CGPointMake(0, 0);
gradientLayer.endPoint = CGPointMake(1.0, 0);
gradientLayer.frame = CGRectMake(0, 20, 300, 100);
[self.view.layer addSublayer:gradientLayer];
CAGradientLayer实现渐变标间简单直观,但存在一定的局限性,比如无法自定义整个渐变区域的形状,如环形、曲线形的渐变。