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

标签 ios animation uiimageview initialization splash-screen

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

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

出于这个原因,我希望 Apple 能够实现 [animationprepareToPlay] 方法。

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

我想考虑两种选择。

这首先是在启动屏幕期间初始化时强制缓存图像,在加载 View 时播放动画。 (阅读:自定义 UIImageViewprepareToPlay 方法) --- 这个解决方案将是理想的。

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

提前致谢, 格雷格

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

最佳答案

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

关于ios - 加速第一个 UIImageView 动画(强制缓存图像),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6893931/

相关文章:

ios - 如何使用 Swift 模糊 UIImageView 中的现有图像?

iphone - 如何正确地将 UIImageView 放置在 UITableViewCell 内?

ios - UITableViewCell 动画按钮约束

javascript - 检测 Canvas 边框上的碰撞

javascript - 如何在可扩展菜单中正确显示标题?

swift - UIImageView UIImage 字符串值 Swift 4

swift - 使用控件在 Swift 中调整图像大小的最佳方法是什么?

iOS:捆绑显示名称

ios - NSDate 数学?现在和 future 的Fire计时器

ios - 捕获 iOS 模拟器视频以进行应用程序预览