如何执行一系列图像的动画并拦截其完成

时间:2012-01-10 15:02:52

标签: ios image animation uiviewanimation

我有一个标签式应用程序,当我点击第二个标签时,应该执行动画,然后执行其他操作。 我用[imageView startAnimating];实现了动画,一切运行良好。问题是我不知道如何拦截动画过程的结束,以便执行其他操作。 我知道UIImageView没有委托方法。我知道imageView.isAnimating属性没用。我知道使用NSTimer,操作在计时器结束时执行,即使例如在我的情况下用户更改了标签。

有关如何解决此问题的任何想法?如何拦截动画的结尾?

2 个答案:

答案 0 :(得分:0)

我相信使用NSTimer是获得所需行为的唯一方法。但是,当计时器触发时,我会在所调用的方法中包含一个检查,以确保您所说的标签仍处于打开状态;或者,一旦用户更改标签,您就可以使计时器无效。

答案 1 :(得分:0)

在您加载UIImageView时尝试:

[UIView transitionWithView: destinationView
           duration:0.2f
           options:UIViewAnimationOptionTransitionFlipFromLeft
           animations:^ {
              //Funky Animation 
           } 
           completion:^(BOOL finished) {
               if(finished) {
                   //Funky Completion Code
               }
           }];

[UIView transitionFromView: startView
           toView: destinationView
           duration:0.2
           options:UIViewAnimationOptionTransitionFlipFromLeft
           animations:^ {
              //Funky Animation 
           } 
           completion:^(BOOL finished) {
               if(finished) {
                   //Funky Completion Code
               }
           }];

       completion:NULL];