1. 360度不停旋转 (进入后台再回到界面动画继续)
// 要操作的图片
UIImageView *imageV = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"图片名"]];
[myView addSubview:imageV];
// 绕Z轴360度旋转
CABasicAnimation* rotationAnimation;
rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
rotationAnimation.toValue = [NSNumber numberWithFloat: M_PI * 2.0 ];
// 动画时长
rotationAnimation.duration = 10;
// 进入后台在进入界面动画不消失
rotationAnimation.removedOnCompletion = NO;
rotationAnimation.cumulative = YES;
// 持续次数 (NSIntegerMax: 无限大)
rotationAnimation.repeatCount = NSIntegerMax;
[imageV.layer addAnimation:rotationAnimation forKey:@"rotationAnimation"];
2. 缩放并改变透明度
// 要操作的图片
UIImageView *scaleV = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"图片名"]];
[myView addSubview:scaleV];
// 缩放
CABasicAnimation *opacityAnimation = [CABasicAnimation animationWithKeyPath:@"opacity"];
opacityAnimation.fromValue = [NSNumber numberWithFloat:5.0];
opacityAnimation.toValue = [NSNumber numberWithFloat:0];
opacityAnimation.removedOnCompletion = NO;
CABasicAnimation *basicA = [CABasicAnimation animationWithKeyPath:@"transform.scale"];
basicA.fromValue = @(0);
basicA.toValue = @(1.1);
// 持续时间
basicA.duration = 5;
// 重复次数
basicA.repeatCount = NSIntegerMax;
CAAnimationGroup *group = [CAAnimationGroup animation];
group.animations = @[basicA, opacityAnimation];
group.duration = 5;
group.removedOnCompletion = NO;
group.repeatCount = NSIntegerMax;
[scaleV.layer addAnimation:group forKey:nil];