绘图整理:layer绘图优点:不需要在drawrect,因为是在layer上绘制。layer上绘图,实现layer动画方便
缺点:添加了个涂层
一、CAShapeLayer搭配UIBezierPath绘图,UIBezierPath绘制不再介绍详见:iOS绘图二,, CoreGraphics 绘图:ios绘图一
UIBezierPath * path = [UIBezierPath bezierPathWithRect:CGRectMake(lineWidth, lineWidth, width-2*lineWidth, height-2*lineWidth)];
CAShapeLayer * layer = [CAShapeLayer layer];
layer.path = path.CGPath;
layer.lineWidth = 5;
layer.strokeColor = [UIColor redColor].CGColor;
layer.fillColor = [[UIColor purpleColor]CGColor];
[self.layer addSublayer:layer];
二、CAGradientLayer渐变色绘制
CAGradientLayer * grandLayer = [CAGradientLayer layer];
NSArray * colors = @[(id)[UIColor greenColor].CGColor,(id)[UIColor blueColor].CGColor,(id)[UIColor redColor].CGColor];
grandLayer.colors = colors;
grandLayer.locations = @[@0,@0.5,@1];
grandLayer.shadowPath = path.CGPath;
grandLayer.frame = rect;
grandLayer.startPoint = CGPointMake(0, 0);
grandLayer.endPoint = CGPointMake(1, 0);
[self.layer addSublayer:grandLayer];