Cocoa 核心动画。。。循环动画?

Cocoa 核心动画。。。循环动画?,cocoa,xcode,macos,core-animation,Cocoa,Xcode,Macos,Core Animation,为了尽可能简单地表达我的问题,有没有一种方法可以创建一个核心动画序列,反复重复直到停止 具体地说,我正在创建一个自定义类,我希望它有一个启动和停止方法,可以使它跳动。为pulse编写动画代码不是问题,而是如何使其重复 提前感谢您的回答 根据,您可以通过创建一个具有非常大的repeatCount的动画(代码摘自我链接到的文档): 编辑:OP询问如何停止动画。从文档中的 通过以下方式开始显式动画: 发送addAnimation:forKey:消息 到目标层,通过 动画和标识符为 参数。一旦添加到目标

为了尽可能简单地表达我的问题,有没有一种方法可以创建一个核心动画序列,反复重复直到停止

具体地说,我正在创建一个自定义类,我希望它有一个启动和停止方法,可以使它跳动。为pulse编写动画代码不是问题,而是如何使其重复

提前感谢您的回答

根据,您可以通过创建一个具有非常大的
repeatCount
的动画(代码摘自我链接到的文档):

编辑:OP询问如何停止动画。从文档中的

通过以下方式开始显式动画: 发送
addAnimation:forKey:
消息 到目标层,通过 动画和标识符为 参数。一旦添加到目标中 层显式动画将运行 直到动画完成,或者 将从层中删除。这个 用于向中添加动画的标识符 一个图层也用来阻止它 调用
removeAnimationForKey:
。你 可以按停止层的所有动画 发送层a
removeAllAnimations
消息


与您粘贴的代码示例中的注释相反,1e100不是无限的,它只是10**100。在math.h中定义的无穷大常数会更好。在回答中回答,因为注释中没有足够的空间。@PeterHosey概念上是一样的。无限被定义为巨大的价值。但是,1e100大于浮动允许的最大值。我更喜欢使用MAXFLOAT。这些动画在背景设置后会变黑,然后从背景中返回。“如何解决这个问题?”我建议你问一个更详细的新问题。仅仅是在评论中提问就意味着我是唯一一个可能看到它的人,你不能在你的问题上提供太多细节,在评论中也没有太多的空间来回答你。
// create the animation that will handle the pulsing.
CABasicAnimation* pulseAnimation = [CABasicAnimation animation];

// over a one second duration, and run an infinite
// number of times
pulseAnimation.duration = 1.0;
pulseAnimation.repeatCount = HUGE_VALF;

// we want it to fade on, and fade off, so it needs to
// automatically autoreverse.. this causes the intensity
// input to go from 0 to 1 to 0
pulseAnimation.autoreverses = YES;