我正在使用动画更改视图的大小,并且我需要在动画的每个步骤中更改该视图内的 imageview 的图像。图像取决于视图大小,这就是我想要这样做的原因。我试图在animations:
块中这样做,但它似乎只被调用一次,而不是像我预期的那样每次迭代。
如何在UIView animateWithDuration:animations:
. 或者也许我的问题有另一种解决方案?
PS我曾尝试使用completion:
块,但它不能正确解决我的问题,因为我想实现图像的平滑变化。
如果我给你简单的答案,答案是否定的……
但是我有一个替代方法,可以创建一个可以递归调用的函数,例如..
-(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];
}
}];
}
希望对你有帮助.............