在我的iPhone应用程序中,屏幕上有一个图像(UIImageView)。我想旋转它并以固定的速度增加速度。基本上我试图创建一个效果,开始慢慢旋转,然后提高速度,直到旋转速度如此之快,以至于无法再看到图像(只有快速动画)。提高纺纱效果的速度
我虽然使用动画块和更改转换的旋转属性,但我不知道如何控制速度。
在我的iPhone应用程序中,屏幕上有一个图像(UIImageView)。我想旋转它并以固定的速度增加速度。基本上我试图创建一个效果,开始慢慢旋转,然后提高速度,直到旋转速度如此之快,以至于无法再看到图像(只有快速动画)。提高纺纱效果的速度
我虽然使用动画块和更改转换的旋转属性,但我不知道如何控制速度。
您将要使用动画曲线设置为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::::
方法。
嗨,UIViewAnimationCurveEaseIn不提供我正在寻找的效果。有没有办法控制实际的缓和功能或提供我自己的? –
检查我更新的答案。 –
很酷,谢谢! –
可能重复:http://stackoverflow.com/questions/9595727/how-to-develop-a-spin-the-bottle-application/9595790#9595790。检查我的答案中的链接。它会给你如何玩速度的基本想法。 – Devang
该链接是为了使用手势,我没有任何附加的手势,我想做一个固定的动画,这是不受用户控制 –