多CAAnimations为animationDidStop方法? [英] Multiple CAAnimations for animationDidStop method?
本文介绍了多CAAnimations为animationDidStop方法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我知道你有使用这种方法来获取时的动画效果已完成的委托方法:
I know you have to use this method to get the delegate method for when the animation has finished:
- (void)animationDidStop:(CAAnimation *)theAnimation finished:(BOOL)flag {
问题是,我怎么会多CAAnimations区分像2个或更多?
The problem is, how would I distinguish between multiple CAAnimations like 2 or more?
我GOOGLE了这一点,我还没有发现任何有用的东西。
I googled this and I haven't found anything useful.
请您如何做到了这一点与我分享!
Please share with me on how you accomplished this!
谢谢!
推荐答案
您可以像这样CAAnimation实例设置键/值对象:
You can set key/value objects for CAAnimation instance like this:
CABasicAnimation *theAnimation = [CABasicAnimation animationWithKeyPath:@"opacity"];
[theAnimation setValue:@"animation1" forKey:@"id"];
theAnimation.delegate = self;
CABasicAnimation *theAnimation2 = [CABasicAnimation animationWithKeyPath:@"opacity"];
[theAnimation2 setValue:@"animation2" forKey:@"id"];
theAnimation2.delegate = self;
检查哪一个被称为委托方法:
Check which one was called in delegate method:
- (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag{
if([[anim valueForKey:@"id"] isEqual:@"animation1"]) {
NSLog(@"animation1");
}
if([[anim valueForKey:@"id"] isEqual:@"animation2"]) {
NSLog(@"animation2");
}
}
这篇关于多CAAnimations为animationDidStop方法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文