UIImageView的animationImages行为没有记录

时间:2011-12-13 23:04:27

标签: iphone objective-c ios ipad

我对UIImageView中animationImages的行为感到有些困惑。文档说:

  

将此属性设置为nil以外的值会隐藏图像   由image属性表示。

然而,如果我initWithImage,然后设置animationImages属性,则会显示传递给init调用的图像。当我开始动画时,它按预期运行数组,但一旦完成动画,它将恢复为image。文档是否不准确?

我最终想要的是UIImageView显示数组中的第一个图像,然后一旦完成动画,就会显示数组中的最后一个图像。据我所知,似乎我需要在开始时手动设置image到第一帧,然后在我开始动画之前将其设置为最后一帧?

2 个答案:

答案 0 :(得分:0)

你可以将启动img作为你想要开始的img,并且当动画运行时你将uiimage更改为你想要的最后一个img作为最后一个img,所以当动画停止时,最后的img会显示

答案 1 :(得分:0)

是,将图像属性设置为您要将其视为第一张图像的图像。在调用startAnimation之前,将其更改为最后一个图像,因此在动画停止后它将停留在最后一个图像上:

在我的设置中:

            animatedIV.animationImages = imageArray;
            animatedIV.image = [imageArray objectAtIndex:0];
            animatedIV.animationRepeatCount = 1;
在开始动画之前

            animatedIV.image = [imageArray lastObject];
            [animatedIV startAnimation];