1

我即将开始我的第一个大型 iOS 应用程序的工作,但还没有真正开始编写任何代码......所以这都是理论上的,而且我现在还处于设计阶段。 

无论如何,我知道我需要在应用程序中添加一些动画效果,所以我只是在做一些研究。在 Flash (AS3) 中,有诸如 Tweener 和 TweenLite 之类的库,它们具有大量可用的缓动选项。

我是不是疯了,或者除了四个标准选项之外真的没有其他可用的缓动选项: 

  • UIViewAnimationCurveEaseIn
  • UIViewAnimationCurveEaseOut
  • UIViewAnimationCurveEaseInOut
  • UIViewAnimationCurveEaseOut

我真的要深入挖掘核心动画来完成这个吗?或者有谁知道一些会派上用场的 3rd 方 SDK。

谢谢大家...

4

2 回答 2

3

实际上,还有一个: UIViewAnimationCurveLinear ......哇,这是一个令人沮丧的。您之所以看到如此有限的选项,是因为您只探索了 UIView 的核心动画包装器。Core Animation 比这更强大,更有能力。如果您需要对动画进行绝对细粒度控制,请使用 CAKeyFrameAnimations,如果您需要软粒度控制,请使用 CAAnimation 和 CABasicAnimation。甚至 CATransaction 也可以。iOS 内置了基本的缓动曲线,因为您需要提供比这更复杂的交互指令。请参阅此处了解与 CAKeyframeAnimation 配合使用的一系列出色的缓动曲线。当然,这并不适合所有人......所以有'

于 2012-07-02T03:51:13.093 回答
1

正如另一张海报所建议的那样,关键帧动画让您可以描述沿复杂曲线或指定关键点之间的运动。

如果您想要一个自定义计时功能,您可以非常简单地创建一个,并在您可以指定其中一个固定计时功能(如线性或缓入、缓出)的任何地方使用它。查看 CAMediaTiming Function 类参考。具体看方法functionWithControlPoints::::

这使您可以使用单个三次贝塞尔曲线创建时序曲线。恐怕这是你唯一的选择。

你具体追求什么效果?

于 2012-07-04T02:13:36.537 回答