transform.rotation:旋转动画。
transform.rotation.x:按x轴旋转动画。
transform.rotation.y:按y轴旋转动画。
transform.rotation.z:按z轴旋转动画。
transform.scale:按比例放大缩小动画。
transform.scale.x:在x轴按比例放大缩小动画。
transform.scale.y:在y轴按比例放大缩小动画。
transform.scale.z:在z轴按比例放大缩小动画。
position:移动位置动画。
opacity:透明度动画strokeEnd :颜色从无到有
strokeStart :颜色从有到无
// Do any additional setup after loading the view, typically from a nib. // (360°- 30°) ->(180°+30°) 逆时针的圆弧 CD圆弧 UIBezierPath *path1 = [UIBezierPath bezierPathWithArcCenter:CGPointMake(self.view.center.x,self.view.center.y) radius:100 startAngle:2 * M_PI - DEGREES_TO_RADIANS(30) endAngle:M_PI + DEGREES_TO_RADIANS(30) clockwise:NO]; // (3/2π- 60°) ->(-1/2π -60°) 逆时针的圆 DD′圆 UIBezierPath *path2 = [UIBezierPath bezierPathWithArcCenter:CGPointMake(self.view.center.x,self.view.center.y) radius:100 startAngle:M_PI *3/2 - (M_PI_2 - DEGREES_TO_RADIANS(30)) endAngle:-M_PI_2 - (M_PI_2 -DEGREES_TO_RADIANS(30)) clockwise:NO]; // [path1 appendPath:path2]; CAShapeLayer *layer = [CAShapeLayer layer]; layer.path = path1.CGPath; layer.strokeColor = [UIColor redColor].CGColor; layer.fillColor = [UIColor clearColor].CGColor; layer.lineWidth = 5; CAShapeLayer *layer1 = [CAShapeLayer layer]; layer1.path = path2.CGPath; layer1.strokeColor = [UIColor yellowColor].CGColor; layer1.fillColor = [UIColor clearColor].CGColor; layer1.lineWidth = 5; //方案1 CAKeyframeAnimation *startAnimation = [CAKeyframeAnimation animationWithKeyPath:@"strokeStart"]; startAnimation.values = @[@0,@1]; startAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]; startAnimation.duration = 2 ; startAnimation.repeatCount = 100; startAnimation.delegate = self; startAnimation.removedOnCompletion = 1; CAKeyframeAnimation *EndAnimation = [CAKeyframeAnimation animationWithKeyPath:@"strokeEnd"]; EndAnimation.values = @[@0,@1]; EndAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]; EndAnimation.duration = 2; EndAnimation.repeatCount = 100; EndAnimation.delegate = self; EndAnimation.removedOnCompletion = 1; CAAnimationGroup *animationGroup = [CAAnimationGroup animation]; animationGroup.animations = [NSArray arrayWithObjects:startAnimation,nil]; animationGroup.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]; animationGroup.duration = 3; animationGroup.repeatCount = 100; animationGroup.delegate = self; animationGroup.removedOnCompletion = 1; [animationGroup setValue:@"animationStep3" forKey:@"animationName"]; [layer addAnimation:startAnimation forKey:nil]; [layer1 addAnimation:EndAnimation forKey:nil]; [self.view.layer addSublayer:layer]; [self.view.layer addSublayer:layer1];
iOS核心动画keypath
最新推荐文章于 2022-06-30 10:56:11 发布
