4

我正在使用动画更改视图的大小,并且我需要在动画的每个步骤中更改该视图内的 imageview 的图像。图像取决于视图大小,这就是我想要这样做的原因。我试图在animations:块中这样做,但它似乎只被调用一次,而不是像我预期的那样每次迭代。

如何在UIView animateWithDuration:animations:. 或者也许我的问题有另一种解决方案?

PS我曾尝试使用completion:块,但它不能正确解决我的问题,因为我想实现图像的平滑变化。

4

1 回答 1

0

如果我给你简单的答案,答案是否定的……

但是我有一个替代方法,可以创建一个可以递归调用的函数,例如..

-(void)animationRecursive
{
    [UIView animateWithDuration:0.001 animations:^{
        // Here set frame slide different from last frame use incremental variables
        // for x,y,width,height
        //yourImageView.frame = set frame
        //yourImageView.image = set image
    } completion:^(BOOL finished) {

         if(![yourImage.frame isEqualToString NSStringFromCGRect(yourFinalCGRectAfterAnimation)]
         {
            [self animationRecursive];
         }
    }];

}

希望对你有帮助.............

于 2013-03-04T10:13:30.950 回答