1.使用动画让一个圆形图片按照圆形轨迹转动
CABasicAnimation * rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
rotationAnimation.toValue = [NSNumber numberWithFloat:tovalue];
rotationAnimation.duration = duration ;
rotationAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear];
rotationAnimation.removedOnCompletion = NO;
rotationAnimation.repeatCount = MAXFLOAT;
[self.rotateImgView.layer addAnimation:rotationAnimation forKey:@"rotationAnimation"];
(1)animationWithKeyPath设置的值transform.rotation.z是平面图的旋转。(还有transform.scale.y是高的比例转换,transform.scale.x是宽的比例转换,transform.scale是比例转换,等等)。
(2)通过-setFromValue 和-setToValue 来指定一个开始值和结束值。 当你增加基础动画到层中的时候,它开始运行。当用属性做动画完成时,例如用位置属性做动画,层就会立刻返回到它的初始位置 。
(3)duration是设置动画一次执行的时间。
(4)通过引入时间函数 (timing function)(有时也被称为 easing 函数) 修改持续时间的分数来控制动画的速度。最简单的 easing 函数是linear,它在整个动画上维持一个恒定的速度。其他的读者可以自行设置,并查看效果。如果不设置,默认为kCAMediaTimingFunctionDefault。
(5)removedOnCompletion 这个属性默认为 YES,那意味着,在指定的时间段完成后,动画就自动的从层上移除了,如果不想在app进入后台然后再进入后台动画停止的话,那么就把它设置为NO吧。
(6)repeatCount 默认的是 0,意味着动画只会播放一次。如果指定一个无限大的重复次数,就使用 MAXFLOAT吧。
(7)addAnimation 添加动画,想让哪个UIImageView对象添加动画,就添加吧。
网友评论