我想要一个UIButton
脉冲,我打算通过在CAGradientLayer
上的两个颜色数组之间缓慢淡入来实现这一点。有没有办法来回重复动画?
答案 0 :(得分:2)
是。在Core Animation中,您可以创建一个显式动画来执行淡入淡出,然后还必须为动画对象设置另外两个属性: autoReverses 和 repeatCount (要执行的重复次数,每2次重复将带您完成动画并再次返回)。在您的情况下,您将以下行添加到设置动画对象的代码中(我将调用对象 anim ):
anim.repeatCount = HUGE_VALF;
anim.autoReverses = YES;
HUGE_VALF会导致动画永远重复,但您可以指定一个大于可能发生的任何重复次数的数字。
这些属性未显示在CAAnimation对象或其子类的文档中,因为它是在CAAnimation及其子类采用的CAMediaTiming协议中定义的。但是您可以看到CAMediaTiming协议的示例和讨论,因为它适用于动画类型和时序编程指南的时序,时间空间和CAAnimation 部分中的CAAnimation对象。 Apple的开发者网站或通过XCode提供的文档。
(许多人似乎发现Apple的核心动画文档特别难以理解,直到您对不同部分有了全面的了解。我基本上知道你必须做什么,但仍然发现很难记住到底在哪里找到关于涉及的财产的实际信息。)