- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想做一些复杂的动画。但我只知道如何对一组变化进行动画处理。有没有办法链接动画,以便我可以进行更改 A -> B -> C -> D -> E -> F (等等),而核心动画会等待每个动画完成并然后继续下一个?
特别是,我想这样做:我有一个显示立方体的 UIImageView。
第 1 阶段)立方体平放在地板上
阶段2)立方体稍微向左旋转,旋转原点在左下角。
阶段3)立方体稍微向右旋转,旋转原点在右下角。
这些阶段重复 10 次,并在阶段 1) 停止。而且,随着时间的推移,摆动会变得越来越小。
我知道如何对 block 中的一个更改进行动画处理,但是如何在其间插入一些复杂的代码来完成这样的重复操作呢?随着时间的推移,这不是同一件事。它发生了变化,因为摆动变得越来越小,直到停止。
最佳答案
假设您正在使用 UIView 动画...
您可以提供一个动画“停止”方法,该方法会在动画实际完成时调用(请查看setAnimationDelegate
)。因此,您可以将一系列动画排队并准备就绪。设置委托(delegate)然后启动第一个动画。当它结束时,它会调用 setAnimationDidStopSelector
方法(确保检查 finished
标志以确保它确实完成,而不仅仅是暂停)。您还可以传递动画上下文,它可以是动画队列中的索引。它也可以是包含计数器的数据结构,以便您可以通过每个周期调整动画值。
因此,只需等待一个任务完成,然后开始从队列中取出的下一个任务即可。
如果您使用其他类型的动画,同样的方法也适用。您只需要设置数据结构,以便它知道在每个结束后要做什么。
关于iphone - 如何在 iPhone-OS 中链接动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/854160/
我是一名优秀的程序员,十分优秀!