【问题标题】:Multiple different UIImageView animations on loop循环中的多个不同 UIImageView 动画
【发布时间】:2012-04-09 07:42:49
【问题描述】:

我需要使用音频剪辑制作以下动画,重复:

  • 总共显示 image1、image2 和 image3 1 秒(各 0.33 秒)
  • 显示 image4 5 秒并播放音频文件。
  • 将 image5 和 image6 分别显示一秒钟
  • 重复 3 次

理想情况下,我想创建一个动画,开始制作动画,然后让它完成它的工作。即创建一个 UIImageView,用图像构建“动画”数组,然后调用“startAnimating”。但要做到这一点,我需要包括 image4 15 次和图像 5 和 6 3 次,这样动画是正确的。我还必须为每 8 秒循环中的每 2 秒安排一次音频。

创建这种类型的多阶段动画还有哪些其他选择?我是否应该分别处理每个部分,在动画完成时使用委托回调,这会提示我对序列的下一部分进行动画处理,直到整个动画重复 3 次?

非常感谢任何建议。谢谢各位。

【问题讨论】:

    标签: ios animation uiimageview


    【解决方案1】:

    我会根据 NSTimer 更新 UIImageView 中的图像。数组/字典可以存储图像名称和秒数。超时设置下一个图像并启动另一个计时器。最多循环 3 次。

    【讨论】:

      【解决方案2】:

      只是一个粗略的想法,没有用真正的代码实践过:

      1. 你需要一个通用的 UIViewController 来控制一切
      2. 您需要一个 UIViewController 子类来处理每个场景,具有可配置的属性,例如:图像、持续时间、bgMusic 等。还需要使用委托方法定义协议,例如 -(void)didAnimationFinish;
      3. 在您的主视图控制器(如 1 中所述)中,构建一个数组 持有许多 viewcontroller 实例 (在 2 中描述),记得根据需要配置它们,并分配 他们的委托给主视图控制器
      4. 触发第一个动画 viewcontroller 或者通过presentingModalViewController
      5. 等待被委托方法调用并移动到下一个索引 大批 (在 3 中描述)

      再次,只是一个快速的想法

      【讨论】:

      • 谢谢克里斯。如果我没有得到任何“更简单”的解决方案,我会这样做并让你知道。做起来不会太难。但是,我确信必须有一种方法可以将其全部编码到一个对象中并触发动画序列,而不必担心代理会破坏动画。但也许不是。谢谢!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多