我想创建一个 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,所以这也是了解他们的动画系统如何工作的好机会。顺便说一句,我搜索了文档,我了解您如何添加一两个简单的动画,但我不知道如何做这个特定的动画。