今天来说一下用CAGradientLayer实现渐变 。什么意思呢?什么是CAGradientLayer呢?
一. 介绍。
例如:只有一个view对象,而你要在这个view上添加多种颜色。(只有一个view对象哦 )
CAGradientLayer是CALayer的一个特殊子类,用于生成颜色渐变的图层,使用较为方便,下面介绍下它的相关属性:
- colors 渐变的颜色。
- locations 渐变颜色的分割点。
- startPoint&endPoint 颜色渐变的方向,范围在(0,0)与(1.0,1.0)之间,如(0,0)(1.0,0)代表水平方向渐变,(0,0)(0,1.0)代表竖直方向渐变。
1.首先创建一个view
//创建UIView用来承载逐渐变色
UIView *myView = [[UIView alloc]initWithFrame:CGRectMake(100, 100, 50, 200)];
[self.view addSubview:myView];
2.创建CAGradientLayer对象以及渐变色列表
//创建CAGradientLayer对象
CAGradientLayer *gradientLayer = [CAGradientLayer layer];
//设置gradientLayer的Frame
gradientLayer.frame = myView.frame;
gradientLayer.colors = @[(id)[UIColor redColor].CGColor,
(id)[UIColor yellowColor].CGColor,
(id)[UIColor blueColor].CGColor];
//设置三种颜色的变化点 取值范围(0.0~1.0)
gradientLayer.locations = @[@(0.1f),@(0.4f)];
//设置渐变颜色方向 如(0,0)(1.0,0)代表水平方向渐变,(0,0)(0,1.0)代表竖直方向渐变。
gradientLayer.startPoint = CGPointMake(0, 0);
gradientLayer.endPoint = CGPointMake(0, 1.0);
// 添加渐变色到创建的 UIView 上去
[myView.layer addSublayer:gradientLayer];
三.结果