加速第一个UIImageView动画(强制缓存图像)

时间:2011-08-01 03:11:21

标签: ios animation uiimageview initialization splash

我的应用程序包含大约25帧的动画。动画由按钮触发,一切正常。但是,在第一次调用动画时,会有几秒延迟。

我知道这是因为图像需要在动画中首次运行时进行缓存,我需要缓存~2mb。

我希望Apple出于这个原因实现[动画 prepareToPlay]方法。

与此同时,我正在viewDidLoad中运行动画。这会在启动画面期间缓存图像,但随后会显示动画。

我想考虑两种选择。

首先是在初始化期间初始化时强制缓存图像,没有加载视图时播放的动画。 (阅读:自定义UIImageView prepareToPlay方法)--- 这个解决方案是理想的。

第二种方法是保留我当前的代码,一旦加载了视图,就在启动时运行动画,但是在第一个动画完成之前禁用调用按钮。由于UIImageView没有自己的完成通知,最好的解决方案是设置一个等于动画持续时间的计时器并启用按钮和所述计时器的结束吗?

提前致谢, 格雷格

TL; DR ---如何在初始化时强制缓存动画图像。

1 个答案:

答案 0 :(得分:1)

我也遇到了你的问题。我在这里创建了自己的问题,得到了很好的答案。请在此处查看:Does UIImageView cache images?
祝你好运!