[UIView animateWithDuration: animations:^{}]
我用自己的自定义动画方法替换了上面的内容。但是,我非常喜欢它的标准效果。
所以我的问题是animateWithDuration的帧速率是多少?
animateWithDuration的功能是什么?我不需要知道如何实现它或任何事物的算法,只需要速度/加速度的数学方程式。
答案 0 :(得分:1)
“速度”功能易于检查。 CocoaTouch动画使用Core Animation实现,“速度”使用CAMediaTimingFunction
实现:
CAMediaTimingFunction *function = [CAMediaTimingFunction functionWithName: kCAMediaTimingFunctionEaseInEaseOut];
然后你调用getControlPointAtIndex:values:
来获得计时函数曲线的控制点(三次贝塞尔曲线)。
当然,帧速率取决于设备显示,GPU(+其他硬件组件)和当前负载。当然,你根本不应该关心帧速率。仅适用于动画开始时的时间。
但是,用您自己的实现替换默认动画几乎总是一个错误。动画很容易使用,你无法真正击败他们的表现。如果您需要更复杂的动画,可以使用更低级别Core Animation
。从头开始替换动画是一个非常糟糕的主意。