第16月第12天 CABasicAnimation 旋转加速

1.

int count = 4;
    double duration = 10.0f;
    for (int i=0; i<count; i++) {
        //旋转动画
        CABasicAnimation *anima3 = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
        anima3.toValue = [NSNumber numberWithFloat:M_PI*2];
        anima3.beginTime = (1.0/count)*duration*i;
        anima3.duration = (1.0/count)*duration;
        if (i == 0) {
            anima3.speed = 1;
        } else {
            anima3.speed = i+1;
            anima3.repeatCount = i+1;
        }
        
        [arr addObject:anima3];
    }
    //组动画
    CAAnimationGroup *groupAnimation = [CAAnimationGroup animation];
    groupAnimation.animations = arr;//[NSArray arrayWithObjects:anima3, nil];
    groupAnimation.duration = duration;
    groupAnimation.removedOnCompletion = NO;
    
    [self.layer addAnimation:groupAnimation forKey:@"groupAnimation"];
原文地址:https://www.cnblogs.com/javastart/p/8276639.html