【发布时间】:2012-09-09 01:18:48
【问题描述】:
我想创建一个 CALayer 动画,它会产生一种“华丽”的效果。为此,我正在尝试为“不透明度”属性设置动画,但我的问题是我不知道从哪里开始以及如何做。
下面是动画的图解说明:
opacity
| ___
1 | | |
| | | * repeatCount
0 |___| |_ . . .
-------------------------> time
|______|
duration
不透明度从 0 开始,然后动画到 1,然后再到 0(这个 0 到 1 到 0 的动画需要的秒数等于持续时间)。然后这个过程被重复 'repeatCount' 次。
以下是代码的一些背景:
float duration = ...; // 0.2 secs, 1 sec, 3 secs, etc
int repeactCount = ...; // 1, 2, 5, 6, ect
CALayer* layer = ...; // I have a CALayer from another part of the code
layer.opacity = 0;
// Animation here
done = YES; // IN THE END of the animation set this ivar to yes
完成此任务的最佳方法是什么?我以前从未使用过 CALayers,所以这也是了解他们的动画系统如何工作的好机会。顺便说一句,我搜索了文档,我了解您如何添加一两个简单动画,但我不知道如何执行此特定动画。
【问题讨论】:
-
支持图表 XD
标签: objective-c core-animation calayer opacity