CAShapeLayer
指定形状路径
@property CGPathRef path; // 动画路径,默认为NULL
/**
* 不像大多数动画的性能,path(与所有CGPathRef动画属性)不支持隐动画。
* 路径对象可以使用任何的具体子类的动画CAPropertyAnimation
* 如果此属性的值是不为NULL,则path使用指定的路径,而不是创建该层的合成后的alpha通道。它使用的是非零缠绕规则和当前颜色,不透明度和模糊半径填充。
*/
访问形状样式属性
@property CGColorRef fillColor; // 填充颜色,默认是不透明的黑色,若值为nil,则没有填充效果@property (copy) NSString *fillRule; // 填充规则,默认是kCAFillRuleNonZero
// kCAFillRuleNonZero: 指定非零缠绕规则。计算每个左到右的路径+1和-1为每个从右到左的道路。如果所有交叉的总和为0,则点是路径之外。如果该和为非零,该点是在路径内与包含它的区域被填充。
// kCAFillRuleEvenOdd: 指定奇偶缠绕规则。算路径交叉的总数。如果横跨的数目是偶数,该点的路径之外。如果横跨的数目是奇数,所述点是在路径内与包含它的区域应被填充。
@property (copy) NSString *lineCap; // 线端点样式,默认值是kCALineCapButt,还有kCALineCapRound, kCALineCapSquare
@property(copy) NSArray<NSNumber*> *lineDashPattern; // 一组NSNumber分别表示涂颜色的区段长度和未涂色的区段长度,默认值是nil
@property CGFloat lineDashPhase; // 冲刺阶段应用到的形状的路径,默认是0@property (copy) NSString *lineJoin; // 拐角样式, 默认值是kCALineJoinMiter (尖角), kCALineJoinRound(圆角),kCALineJoinBevel(平角);@property CGFloat lineWidth; // 线宽@property CGFloat miterLimit; // 斜接样式,默认是10.0@property CGColorRef strokeColor; // 画笔颜色
@property CGFloat strokeStart; // 和strokeEnd组合使用,默认值为1.0.取值范围为0.0到1.0;
@propertyCGFloat strokeEnd; // 和strokeStart组合使用,默认值为1.0.取值范围为0.0到1.0;
本文深入探讨了CAShapeLayer的使用方法,特别是如何指定形状路径进行动画操作。详细解释了路径动画属性path的功能及限制,以及访问和设置形状样式属性如填充颜色、线宽、线端点样式等的方法。

被折叠的 条评论
为什么被折叠?



