核心思想:把小点图片加到透明的UIView上,然后旋转UIView即可
/**
* 充电状态小点旋转动画
*/
- (void)animationDotRotation
{
dotRotationFlag = NO;
[self performSelector:@selector(realAnimationDotRotation) withObject:nil afterDelay:0.5];
}
- (void)realAnimationDotRotation
{
CABasicAnimation *rotationAnimation;
rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
// rotationAnimation.toValue = [NSNumber numberWithFloat: (7 * M_PI/2)/2.5 ];
rotationAnimation.toValue = [NSNumber numberWithFloat: (M_PI * 2) * currentNumber/totalNumber ];
[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut];
rotationAnimation.duration = 1.5;
rotationAnimation.RepeatCount = 0;//你可以设置到最大的整数值
rotationAnimation.cumulative = NO;
rotationAnimation.removedOnCompletion = NO;
rotationAnimation.fillMode = kCAFillModeForwards;
rotationAnimation.delegate = self;
[bgView.layer addAnimation:rotationAnimation forKey:@"Rotation"];
}
- (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag
{
if (flag) {
dotRotationFlag = YES;
[self performSelector:@selector(animationDotRotation) withObject:nil afterDelay:0.0];
}
}