我有多个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:
}
}
答案 0 :(得分:1)
没有公共API来检索密钥。如果您有图层对象,则可以发送它animationsKeys
以获取其所有动画关键字的数组。然后,您可以使用animationForKey:
测试每个。
最简单的解决方案(除了为每个动画使用单独的委托之外)是创建NSMutableDictionary。将动画对象用作键,将动画键字符串用作其值。