我想在动画完成后调用具有某些参数的方法。
流程是这样的:
-(void) myMethod:(int)val
{
[self performAnimation];
[self doSomethingElse:val]; // This should be done after animation completion
}
我认为需要从“setAnimationDidStopSelector”中定义的方法调用“doSomethingElse”方法 - 或者有没有办法让动画 block 直到完成为止?
让“setAnimationDidStopSelector”上调用的方法了解它需要调用的方法及其参数的最佳方法是什么?这可以用选择器来完成吗?或者是通过将方法及其参数存储在类临时变量中并在需要时访问它们来实现此目的的唯一方法?
最佳答案
performAnimation 不会阻塞线程,因此了解动画是否完成的唯一方法是设置选择器,如下所示:
-(void) myMethod:(int)val {
[self setAnimationDelegate:self];
[self setAnimationDidStopSelector:@selector(animationDidStop:finished:context:)];
[self performAnimation];
}
- (void)animationDidStop:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context {
}
关于iphone - 动画完成后调用带参数的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2398705/