美文网首页
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