我对UIImageView中animationImages
的行为感到有些困惑。文档说:
将此属性设置为nil以外的值会隐藏图像 由
image
属性表示。
然而,如果我initWithImage
,然后设置animationImages
属性,则会显示传递给init调用的图像。当我开始动画时,它按预期运行数组,但一旦完成动画,它将恢复为image
。文档是否不准确?
我最终想要的是UIImageView
显示数组中的第一个图像,然后一旦完成动画,就会显示数组中的最后一个图像。据我所知,似乎我需要在开始时手动设置image
到第一帧,然后在我开始动画之前将其设置为最后一帧?
答案 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];