一、 CAShapeLayer的简介
关于CAShapeLayer比较好的文章:
CAShapeLayer继承自CALayer
- 渲染快速。CAShapeLayer 使用了硬件加速,绘制同一图形会比用 Core Graphics 快很多。
- 高效使用内存。一个 CAShapeLayer 不需要像普通 CALayer 一样创建一个寄宿图形,所以无论有多大,都不会占用太多的内存。
- 不会被图层边界剪裁掉。一个 CAShapeLayer 可以在边界之外绘制。你的图层路径不会像在使用 Core Graphics 的普通 CALayer 一样被剪裁掉.
- 不会出现像素化。当你给 CAShapeLayer 做 3D 变换时,它不像一个有寄宿图的普通图层一样变得像素化。
属性
// CAShapeLayer 绘制的路径@property(nullable) CGPathRef path;//路径中的填充颜色@property(nullable) CGColorRef fillColor;//填充规则@property(copy) NSString *fillRule;//画笔颜色(路径的颜色,边框颜色)@property(nullable) CGColorRef strokeColor;//这是一组范围值,路径绘制开始和结束的范围(0 -> 1)@property CGFloat strokeStart;@property CGFloat strokeEnd;//设置虚线显示的起点距离,设置为x,则从长度为x之后的线开始显示@property CGFloat lineDashPhase;//设置虚线线段的长度和空格的长度,@[@20,@30,@40,@50],画20空30画40空50@property(nullable, copy) NSArray