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