【发布时间】:2012-11-17 19:44:27
【问题描述】:
我需要显示一个动画,其中动画的帧应显示不同的持续时间。如果 UIImageView 支持动画 GIF,这很容易解决,但它不支持。
我想要的应该是这样的:
- 显示 MyImage01.png 2 秒。
- 显示 MyImage02.png 0.5 秒。
- 显示 MyImage03.png 1 秒。
- 循环,从第 1 步开始。
在将setAnimationImages: 与 UIImageView 一起使用时,我看不到任何方法可以为每个帧设置不同的持续时间。
有人知道如何实现吗?
当然,实现这一点的一种方法是将动画持续时间设置为 0.25 秒,并连续多次显示同一图像,但这似乎并不是实现这一目标的理想方式。
【问题讨论】:
-
除了手动切换图像(计时器/异步块/gcd 等)或按照您的建议在 animationImages 数组中重复图像 - 您可以查看以下内容:github.com/ondalabs/OLImageView。不过我从来没用过。
-
@Estarriol 这就是我最终做到的方式。您应该将其保留为答案,以便我接受 :-) 谢谢。
-
请注意,如果 GIF 图像太大或包含太多帧,此处链接的 GIF 解码器方法会消耗所有应用程序内存并导致崩溃。我对这个其他问题的回答描述了一种没有这个问题的方法:stackoverflow.com/questions/8825550/…
标签: iphone animation uiimageview