美文网首页
7.组动画:CAAnimationGroup

7.组动画:CAAnimationGroup

作者: LucXion | 来源:发表于2021-06-17 09:44 被阅读0次

    CABasicAnimation *transformAnima = [CABasicAnimation animationWithKeyPath:@"transform.rotation.y"];
    transformAnima.fromValue = @(0);
    transformAnima.toValue = @(M_PI_2);
    transformAnima.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
    
    CABasicAnimation *positionAnima = [CABasicAnimation animationWithKeyPath:@"position.y"];
    positionAnima.fromValue = @(self.starView.center.y);
    positionAnima.toValue = @(self.starView.center.y - 14);
    positionAnima.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut];
    
    
    CAAnimationGroup *animGroup = [CAAnimationGroup animation];
    animGroup.duration = jumpDuration;
    animGroup.fillMode = kCAFillModeForwards;
    animGroup.removedOnCompletion = NO;
    animGroup.delegate = self;
    animGroup.animations = @[transformAnima,positionAnima];
    
    [self.starView.layer addAnimation:animGroup forKey:@"jumpUp"];

CAAnimationDelegate

  • animationDidStart:

    if ([anim isEqual:[self.starView.layer animationForKey:@"jumpUp"]]) {}
    
    • 细节优化:图标阴影根据图片的大小做缩放
  • animationDidStop:

    • 衔接第二段动画
    • 动画结束后从layer上移除动画

相关文章

网友评论

      本文标题:7.组动画:CAAnimationGroup

      本文链接:https://www.haomeiwen.com/subject/rvdfyltx.html