我想用图像数组创建逐帧动画。

设置animationDuration,标准值为1。

使用startAnimating启动动画时,我可以确定在每个iOS设备上总是30fps吗?

因此,我需要一秒钟的动画恰好需要15幅图像-当我必须在一秒钟内动画的多于或少于15张图像时,是否可以使用特殊的计算方法?

例如。 60/15 *(阵列中的图像数)

最佳答案

我认为您不能依靠UIImageView animationImages随时随地为您提供30FPS。

确实,这意味着非常简单和“机会主义”的动画。如果您用谷歌搜索它,则会发现该方法reports(在特定条件下)拖挂设备。另一方面,如果图像很小,则可能会起作用,但是您得不到任何保证(也没有强制执行所需FPS的方法)。


  因此,我需要一秒钟的动画恰好需要15幅图像-当我必须在一秒钟内动画的多于或少于15张图像时,是否可以使用特殊的计算方法?


如果我正确理解您的问题,则可以尝试:

duration = number_of_images / FPS; // e.g., 60 images / 30 FPS = 2 seconds


当然,如果设备能够以30 FPS正确显示60张图像则是另外一回事了。

关于objective-c - iOS帧率-UIImage总是30fps吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12724169/

10-15 06:56