我的应用程序包含大约 25 帧的动画。动画由按钮触发,一切正常。但是,第一次调用动画时,会出现几秒钟的延迟。
我知道这是因为图像在动画中首次运行时需要缓存,并且我有 ~2mb 需要缓存。
出于这个原因,我希望 Apple 能够实现 [animationprepareToPlay] 方法。
与此同时,我在 viewDidLoad 中运行动画。这会在启动屏幕期间缓存图像,但随后显示动画。
我想考虑两种选择。
这首先是在启动屏幕期间初始化时强制缓存图像,不在加载 View 时播放动画。 (阅读:自定义 UIImageViewprepareToPlay 方法) --- 这个解决方案将是理想的。
第二种选择是保留我当前的代码,在加载 View 后在启动时运行动画,但禁用调用按钮,直到第一个动画完成。由于 UIImageView 没有自己的完成通知,因此最好的解决方案是设置一个等于动画持续时间的计时器并启用按钮和所述计时器的结束吗?
提前致谢, 格雷格
TL;DR --- 初始化时如何强制缓存动画图片。
最佳答案
我也遇到了和你一样的问题。我在这里创建了自己的问题,并且得到了很好的答案。在这里查看:Does UIImageView cache images?
祝你好运!
关于ios - 加速第一个 UIImageView 动画(强制缓存图像),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6893931/