How to animate CAShapeLayer path and fillColor

前端 未结 1 1060
醉梦人生
醉梦人生 2020-12-05 08:11

How to animate CAShapeLayer path and fillColor?

How to animate strokeEnd to show the path being drawn? and how to animate fillColor?

相关标签:
1条回答
  • 2020-12-05 08:24

    To animate path

      //setup the CAShapeLayer
    myShapeLayer.strokeColor = [[UIColor blueColor] CGColor];
    myShapeLayer.lineWidth = 5;
    myShapeLayer.fillColor = [[UIColor yellowColor] CGColor];
    
    
    
    //Display it!
    [self.view.layer addSublayer:myShapeLayer];
    
    //Animate path
    CABasicAnimation *pathAnimation = [CABasicAnimation animationWithKeyPath:@"strokeEnd"];
    pathAnimation.duration = 1.5f;
    pathAnimation.fromValue = [NSNumber numberWithFloat:0.0f];
    pathAnimation.toValue = [NSNumber numberWithFloat:1.0f];
    pathAnimation.repeatCount = 10;
    pathAnimation.autoreverses = YES;
    [myShapeLayer addAnimation:pathAnimation forKey:@"strokeEnd"];
    
    //Animate colorFill
    CABasicAnimation *fillColorAnimation = [CABasicAnimation animationWithKeyPath:@"fillColor"];
    fillColorAnimation.duration = 1.5f;
    fillColorAnimation.fromValue = (id)[[UIColor clearColor] CGColor];
    fillColorAnimation.toValue = (id)[[UIColor yellowColor] CGColor];
    fillColorAnimation.repeatCount = 10;
    fillColorAnimation.autoreverses = YES;
    [myShapeLayer addAnimation:fillColorAnimation forKey:@"fillColor"];
    

    I hope this helps :)

    0 讨论(0)
提交回复
热议问题