【问题标题】:Increasing speed for spinning effect提高旋转效果的速度
【发布时间】:2012-05-11 05:52:57
【问题描述】:

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

我虽然使用动画块并更改变换的旋转属性,但我不确定如何控制速度。

【问题讨论】:

  • 可能重复:stackoverflow.com/questions/9595727/…。检查我的答案中的链接。它会给你关于如何玩速度的基本概念。
  • 该链接是使用手势的,我没有附加任何手势,我想做一个不受用户控制的固定动画

标签: iphone cocoa-touch animation uikit transform


【解决方案1】:

您将要使用动画曲线设置为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 没有提供我想要的效果。有没有办法控制实际的缓动功能或提供我自己的?
  • @sudorm-rf :我没有拒绝你。我知道这是动画的另一种可能方式。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-29
  • 2023-03-03
相关资源
最近更新 更多