如何知道/测试动画何时播放完毕

时间:2011-12-31 19:32:32

标签: iphone objective-c ios cocoa-touch animation

我通过按钮开始动画。这是按钮的代码:

-(IBAction)startAnimation:(id)sender{
stick.animationImages = [NSArray arrayWithObjects:
                         [UIImage imageNamed:@"photo 1.JPG"],
                         [UIImage imageNamed:@"photo 2.JPG"],
                         [UIImage imageNamed:@"photo 3.JPG"],
                         [UIImage imageNamed:@"photo 4.JPG"],
                         [UIImage imageNamed:@"photo 5.JPG"],nil];
[stick setAnimationRepeatCount:200];
stick.animationDuration = 0.5;
[stick startAnimating];
}

当动画完成后,我想出现一个按钮,在屏幕上播放另一个动画。我如何测试或看到我的动画播放完成的时间?提前谢谢!

2 个答案:

答案 0 :(得分:2)

您尚未告诉我们stick是什么,但它看起来像UIImageView。您只能调用isAnimating来检查动画是否仍在运行,但是您没有收到任何通知,也没有委托。您可以计算停止时间(200 * 0.5),从而设置计时器(添加一点安全余量)。这不是100%正确,但它可能“足够好”。

答案 1 :(得分:-1)

如果您使用块调用动画,则可以使用完成块。

Here is a tutorial you can refer to显示了在iOS上调用动画例程的几种不同方法。如果您不想使用块(即UIView的setAnimationDidStopSelector方法),本教程还会显示您可以完成的操作。