animateWithDuration的帧速率和速度函数是什么

时间:2014-04-23 19:46:09

标签: objective-c animation uiview frame-rate animatewithduration

[UIView animateWithDuration: animations:^{}]

我用自己的自定义动画方法替换了上面的内容。但是,我非常喜欢它的标准效果。

所以我的问题是animateWithDuration的帧速率是多少?

animateWithDuration的功能是什么?我不需要知道如何实现它或任何事物的算法,只需要速度/加速度的数学方程式。

1 个答案:

答案 0 :(得分:1)

“速度”功能易于检查。 CocoaTouch动画使用Core Animation实现,“速度”使用CAMediaTimingFunction实现:

CAMediaTimingFunction *function = [CAMediaTimingFunction functionWithName: kCAMediaTimingFunctionEaseInEaseOut];

然后你调用getControlPointAtIndex:values:来获得计时函数曲线的控制点(三次贝塞尔曲线)。

当然,帧速率取决于设备显示,GPU(+其他硬件组件)和当前负载。当然,你根本不应该关心帧速率。仅适用于动画开始时的时间。

但是,用您自己的实现替换默认动画几乎总是一个错误。动画很容易使用,你无法真正击败他们的表现。如果您需要更复杂的动画,可以使用更低级别Core Animation。从头开始替换动画是一个非常糟糕的主意。