我想让UIButton产生脉冲,我计划通过在CAGradientLayer上的两个颜色阵列之间慢慢淡入淡出来实现这一点。有没有办法来回重复一段动画?
发布于 2011-05-29 09:32:29
是。在核心动画中,您可以创建一个显式动画来执行淡入淡出,然后还必须为动画对象设置其他两个属性: autoReverses和repeatCount (要执行的重复次数,每次重复2次将引导您完成动画并再次返回)。在本例中,您需要将以下代码添加到设置动画对象的代码中(我将该对象称为anim):
anim.repeatCount = HUGE_VALF;
anim.autoReverses = YES;HUGE_VALF会导致动画永远重复,尽管您可以指定一个大于可能发生的任何重复次数的数字。
这些属性没有显示在CAAnimation对象或它的子类的文档中,因为它是在CAAnimation及其子类所采用的CAMediaTiming协议中定义的。但是,您可以在苹果开发人员网站或XCode提供的文档中,在动画类型和计时编程指南的计时、时间空间和CAAnimation部分中看到应用于CAAnimation对象的CAMediaTiming协议的示例和讨论。
(许多人似乎发现苹果的核心动画文档特别难理解,除非你对不同的部分有一个很好的总体把握。我基本上知道您必须做什么,但仍然发现很难准确地记住在哪里可以找到所涉及的属性的实际信息。)
https://stackoverflow.com/questions/6156572
复制相似问题