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



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

-(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];
}

,当动画完成时,我希望有一个按钮出现,在屏幕上播放另一个动画。我如何测试或查看我的动画何时完成播放?提前感谢!

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

如果你使用块来调用动画,你可以使用一个完成块。

这是一个教程,你可以参考,其中展示了几种不同的方式在iOS上调用动画例程。本教程还展示了如果你不喜欢使用块(即UIView的setAnimationDidStopSelector方法),你可以做什么来完成。

最新更新