在iOS中停止动画

时间:2013-04-07 21:34:15

标签: ios objective-c animation

可能重复

我目前有一个像这样的块动画......

[UIView animateWithDuration:0.25 delay:0.0 options:nil animations:^{
self.imageView.image = /* function that returns image */
} completion:^(BOOL finished){

[UIView animateWithDuration:0.25 delay:0.0 options:nil animations:^{
self.imageView.image = /* function that returns image */
} completion:^(BOOL finished){

[UIView animateWithDuration:0.25 delay:0.0 options:nil animations:^{
self.imageView.image = /* function that returns image */
} completion:^(BOOL finished){/*...*/}

我想知道如何在viewWillDisappear取消此功能。我试过......

  • [self.view.layer removeAllAnimations];
  • [self.imageView.layer removeAllAnimations];
  • finished变量设置为YESNO
  • if(done==YES) return插入completion{}块。
  • ...并提交一个简短动画(在removeAllAnimations之后),如此gist

这些方法都不起作用。当我希望它停止时,我的动画仍在计算中,并确保调用停止它的功能。

我的猜测是我正在向错误的对象发送“停止”消息,并且这是一个简单的修复,我没有足够的经验来处理。

1 个答案:

答案 0 :(得分:1)

您是否尝试过简单地制作 self.imageView = nil