objective-c - 如何停止核心动画?

标签 objective-c xcode iphone-sdk-3.0 core-animation

我现在在特定条件下使用核心动画为按钮设置动画我想停止该动画如何停止动画?

这里是按钮动画的方法

-(void)animateButton:(UIButton *)btnName
{
    CABasicAnimation *pulseAnimation = [CABasicAnimation animationWithKeyPath:@"transform.scale"];
    pulseAnimation.duration = .5;
    pulseAnimation.toValue = [NSNumber numberWithFloat:1.1];
    pulseAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
    pulseAnimation.autoreverses = YES;
    pulseAnimation.repeatCount = FLT_MAX;

    [btnName.layer addAnimation:pulseAnimation forKey:nil];
}

最佳答案

来自 Core Animation Programming Guide

启动和停止显式动画

您可以通过向目标层发送 addAnimation:forKey: 消息来启动显式动画,并将动画和标识符作为参数传递。一旦添加到目标层,显式动画将运行直到动画完成,或者从层中移除。 用于向图层添加动画的标识符也用于通过调用 removeAnimationForKey: 来停止动画。您可以通过向图层发送 removeAllAnimations 消息来停止图层的所有动画。

关于objective-c - 如何停止核心动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1566542/

相关文章:

iphone - 无法将 UILabel 文本阴影设置为灰色以外的任何颜色

ios - Facebook Graph Api 调用不适用于 iOS

iphone - Cocoas2d 通过 CGPoint 获取 Sprite

iPhone View 层次结构问题 : How do I draw views over the tab bar?

ios - Xcode 4 : How to change ${EXECUTABLE_NAME} variable's value?

ios - 如何将 base64 字符串解码/转换为 NSData?

iphone - 如何知道用户是否已更新应用程序或安装了新副本?

iphone - 删除超过 2 个尾随零

objective-c - 如果托管对象上下文发生更改,则必须删除、更新或添加某些内容,这是否总是正确的?

iphone - "Refreshing"iPhone/Mac OSX 上的 XML feed