如何检查UIImageView是否已完成其动画

时间:2012-02-03 15:29:32

标签: iphone objective-c cocoa-touch uiimageview

我是iPhone开发的新手。我正在使用UIImageView为数组中的图像设置动画。我决定通过名为isAnimating的属性停止动画。但它总是回归真实。

我想检查动画是否已完成,或者还有一段时间可以完成动画。

请告诉我,我该如何查看。

3 个答案:

答案 0 :(得分:1)

制作一个属性BOOL IsAnimating 然后做这个代码

{
     [UIView beginAnimations:@"Animation of ImageVIew Begins" context:nil];
           IsAnimating =YES;

     [UIView setAnimationDuration:0.4]; //you can put your time
     NSLog(@" Animating");
     [UIView setAnimationDelegate:self];
     [UIView setAnimationDidStopSelector:@selector(AnimationComplete)];

// Your animation code here     
     [UIView commitAnimations];
}


- (void) AnimationComplete
{
  isAnimating = NO;
}

您的BOOl变量将为YES,直到动画完成..然后它将变为NO

答案 1 :(得分:0)

根据持续时间使用委托来触发接收器上您想要的任何方法。

答案 2 :(得分:-4)

你应该在动画块中做动画:

[UIView animateWithDuration:duration animations:^{
    //animation code here
} completion:^(BOOL finished)
{
    //this will be called when the animation is finished
}];

编辑:这个答案是错误的,可能不应该被接受,因为有人来这里寻找正确的答案:this回答这个问题我认为