首页 > 代码库 > CAKeyframeAnimation path 绘制动画 和 《CALayer 自定义属性绘制动画》 的比较

CAKeyframeAnimation path 绘制动画 和 《CALayer 自定义属性绘制动画》 的比较

在《CALayer 自定义属性绘制动画》中讲解通过CALayer 自定义动画属性绘制圆,使用CABasicAnimation添加绘制动画,下面通过CGPath绘制圆使用CAKeyframeAnimation添加绘制动画
 
UIBezierPath *path = [UIBezierPathbezierPathWithArcCenter:CGPointMake(20, 20) radius:20 startAngle:0 endAngle:2*M_PIclockwise:0];
   
CAKeyframeAnimation *animation = [CAKeyframeAnimationanimationWithKeyPath:@"strokeEnd"];
animation.values = @[@(0.0f),@(1.0f)];
animation.duration = 10.0f;
animation.repeatCount = MAXFLOAT;
   
CAShapeLayer *layer = [CAShapeLayer layer];
layer.frame = CGRectMake(10, 100, 40, 40);
layer.path = path.CGPath;
layer.lineWidth = 3.0f;
layer.fillColor = [UIColorwhiteColor].CGColor;
layer.strokeColor = [UIColorredColor].CGColor;
[layer addAnimation:animation forKey:@"angle_key"];

CAKeyframeAnimation path 绘制动画 和 《CALayer 自定义属性绘制动画》 的比较