正确的方法来标记NSAnimation以对animationDidEnd:消息进行排序

时间:2013-10-16 09:01:31

标签: cocoa appkit nsanimation

我的问题非常简单:我有一个类,它是几个NSAnimations的委托,我需要为我的NSAnimation提供一个名称/标识符,以便可以轻松地对所有-(void)animationDidEnd:(NSAnimation *)animation消息进行排序

关于如何实现它的任何想法?

编辑:我是否应该分析缺乏答案的含义,我根本不应该使用NSAnimation

来源:Is NSAnimation deprecated ?

1 个答案:

答案 0 :(得分:0)

嗯,结果动画应该由Core Animation来处理:它比NSAnimation更强大,更系统化,你可以用一个键标记你的动画:

#import <QuartzCore/QuartzCore.h>

CALayer* myLayer;

CAKeyframeAnimation *anim = [CAKeyframeAnimation animationWithKeyPath:@"position"];
anim.path = [NSBezierPath bezierPathWithRect:NSMakeRect(0,0,100,100)];
anim.repeatCount = 0;
anim.duration = 3.0;
[bounceLayer addAnimation:anim forKey:@"MyAnimationKey"];

此外,还有很好的委托方法,例如:- (void)animationDidStart:(CAAnimation *)theAnimation来实现我们的想法。