gpt4 book ai didi

objective-c - 在两个 CAGradientLayer 颜色设置之间连续淡入淡出?

转载 作者:行者123 更新时间:2023-11-29 11:22:36 24 4
gpt4 key购买 nike

我想让 UIButton 闪烁,我计划通过在 CAGradientLayer 上的两个颜色阵列之间缓慢淡出来实现。有没有办法来回重复动画?

最佳答案

是的。在 Core Animation 中,您创建一个明确的动画来执行淡入淡出,然后您还必须为动画对象设置另外两个属性:autoReversesrepeatCount(要执行的重复次数,每 2 次重复将带您完成动画并再次返回)。在您的情况下,您需要将以下几行添加到设置动画对象的代码中(我将调用该对象 anim):

 anim.repeatCount = HUGE_VALF;
anim.autoReverses = YES;

HUGE_VALF 会导致动画永远重复,但您可以指定一个大于可能发生的任何重复次数的数字。

这些属性没有显示在 CAAnimation 对象或其子类的文档中,因为它是在 CAAnimation 及其子类采用的 CAMediaTiming 协议(protocol)中定义的。但是您可以在 动画类型和计时编程指南计时、时空和 CAAnimation 部分中查看 CAMediaTiming 协议(protocol)的示例和讨论,因为它适用于 CAAnimation 对象Apple 的开发者网站或通过 XCode 提供的文档中。

(许多人似乎发现 Apple 的 Core Animation 文档特别难以理解,除非你对不同的部分有一个很好的整体掌握。我基本上知道你必须做什么,但仍然发现很难记住在哪里可以找到有关所涉及属性的实际信息。)

关于objective-c - 在两个 CAGradientLayer 颜色设置之间连续淡入淡出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6156572/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com