CAGradientLayer 继承自CALayer,主要用于绘制渐变色的场合。
坐标系系统:
看下面的例子:
声明属性:
@property (nonatomic, strong) CAGradientLayer * gradientLayer;
在ViewDidLoad中添加如下代码:
self.gradientLayer = [CAGradientLayer layer];
[self.gradientLayer setFrame:CGRectMake(0, 0, 200, 200)];
[self.gradientLayer setPosition:self.view.center];
[self.gradientLayer setBorderWidth:2.0f];
[self.view.layer addSublayer:self.gradientLayer];
//设置渐变颜色
[self.gradientLayer setColors:@[(__bridge id)[UIColor yellowColor].CGColor,
(__bridge id)[UIColor blueColor].CGColor,
]];
//渐变方向设置
[self.gradientLayer setStartPoint:CGPointMake(0, 0)];
[self.gradientLayer setEndPoint:CGPointMake(1, 0)];
//渐变分割点设置
[self.gradientLayer setLocations:@[@(0.5),@(1.0)]];
效果图如下:
注:在设置颜色渐变的时候至少要对CAGradientLayer的colors属性设置两种颜色(透明色也算一种颜色)