2011-11-30 60 views
1

键我有多个CAKeyframeAnimation对象,每一个类似下面的唯一关键:检索CAKeyframeAnimationKey在AnimationDidStop

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

我的问题是,如果我有多个动画像这样和每一个独特的关键,如何我是否在方法AnimationDidStop中检索它们的键?我希望能够做到这样的事情:

-(void)animationDidStop:(CAAnimation*)animation finished:(BOOL)flag{ 
if(..... [email protected]"uniquekey1"){ 
//code to handle this specific animation here: 
}else if(.... [email protected]"uiquekey2"){ 
//code to handle this specific animation here: 
} 
} 

回答

1

Theres没有公开的API来检索密钥。如果你有图层对象,你可以发送它animationsKeys来获得它的所有动画键的数组。然后你可以使用animationForKey:来测试每一个。

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