【问题标题】:Animations with different durations for each frame每帧具有不同持续时间的动画
【发布时间】:2012-11-17 19:44:27
【问题描述】:

我需要显示一个动画,其中动画的帧应显示不同的持续时间。如果 UIImageView 支持动画 GIF,这很容易解决,但它不支持。

我想要的应该是这样的:

  1. 显示 MyImage01.png 2 秒。
  2. 显示 MyImage02.png 0.5 秒。
  3. 显示 MyImage03.png 1 秒。
  4. 循环,从第 1 步开始。

在将setAnimationImages: 与 UIImageView 一起使用时,我看不到任何方法可以为每个帧设置不同的持续时间。

有人知道如何实现吗?

当然,实现这一点的一种方法是将动画持续时间设置为 0.25 秒,并连续多次显示同一图像,但这似乎并不是实现这一目标的理想方式。

【问题讨论】:

  • 除了手动切换图像(计时器/异步块/gcd 等)或按照您的建议在 animationImages 数组中重复图像 - 您可以查看以下内容:github.com/ondalabs/OLImageView。不过我从来没用过。
  • @Estarriol 这就是我最终做到的方式。您应该将其保留为答案,以便我接受 :-) 谢谢。
  • 请注意,如果 GIF 图像太大或包含太多帧,此处链接的 GIF 解码器方法会消耗所有应用程序内存并导致崩溃。我对这个其他问题的回答描述了一种没有这个问题的方法:stackoverflow.com/questions/8825550/…

标签: iphone animation uiimageview


【解决方案1】:

签出:

http://github.com/ondalabs/OLImageView

注意:我从未使用过此组件。有关自定义控件的良好来源,请参见 http://www.cocoacontrols.com/

很高兴我能帮上忙 :-)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-15
    • 2016-02-28
    • 1970-01-01
    • 1970-01-01
    • 2014-03-27
    • 1970-01-01
    相关资源
    最近更新 更多