2012-05-11 49 views
0

在我的iPhone应用程序中,屏幕上有一个图像(UIImageView)。我想旋转它并以固定的速度增加速度。基本上我试图创建一个效果,开始慢慢旋转,然后提高速度,直到旋转速度如此之快,以至于无法再看到图像(只有快速动画)。提高纺纱效果的速度

我虽然使用动画块和更改转换的旋转属性,但我不知道如何控制速度。

+1

可能重复:http://stackoverflow.com/questions/9595727/how-to-develop-a-spin-the-bottle-application/9595790#9595790。检查我的答案中的链接。它会给你如何玩速度的基本想法。 – Devang

+0

该链接是为了使用手势,我没有任何附加的手势,我想做一个固定的动画,这是不受用户控制 –

回答

2

您将要使用动画曲线设置为UIViewAnimationCurveEaseIn的动画。将持续时间设置为很长的时间间隔,大概5秒左右。这应该可以达到你想要的效果。


示例代码:

CABasicAnimation *spin = [CABasicAnimation animationWithKeyPath:@"transform.rotation"]; 
spin.toValue = [NSNumber numberWithFloat:50*2*M_PI]; 
spin.duration = 5.f; 
spin.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]; 
[imageView.layer addAnimation:spin forKey:@"spinningAnimation"]; 

如果要定义自己的动画曲线,看看CAMediaTimingFunction的functionWithControlPoints::::方法。

+0

嗨,UIViewAnimationCurveEaseIn不提供我正在寻找的效果。有没有办法控制实际的缓和功能或提供我自己的? –

+0

检查我更新的答案。 –

+0

很酷,谢谢! –