1

我有多个 CAKeyframeAnimation 对象,每个对象都有一个唯一的键,如下所示:

 .....
 [myAnimation setValues:images];
 [myAnimation setDuration:1];
 ....
 [myLayer addAnimation:myAnimation forKey:@"unique key"];

我的问题是,如果我有多个这样的动画并且每个动画都有一个唯一的键,我如何在 AnimationDidStop 方法中检索它们的键?我希望能够做这样的事情:

 -(void)animationDidStop:(CAAnimation*)animation finished:(BOOL)flag{
 if(..... ==@"uniquekey1"){
 //code to handle this specific animation here:
 }else if(.... ==@"uiquekey2"){
 //code to handle this specific animation here:
 }
 }
4

1 回答 1

1

没有公共 API 来检索密钥。如果您有图层对象,您可以发送它animationsKeys以获取其所有动画键的数组。然后您可以使用animationForKey:.

最简单的解决方案(除了为每个动画使用单独的委托)是创建一个 NSMutableDictionary。将动画对象用作键,将其动画键字符串用作其值。

于 2011-11-30T01:49:02.980 回答