一次重复后停止动画

use*_*776 4 xcode animation objective-c uiimageview

我创建了一个包含2个图像的数组,然后动画,一切都很完美.但是现在我希望动画在一次重复后停止,我的意思是动画将从第一个图像开始,移动到第二个图像并停止(第二个图像将保留在我的imageview上).我该怎么做?这是我的代码:

    UIImage *mistakeOne = [UIImage imageNamed:@"Xmark.png"];
    UIImage *mistakeOneB = [UIImage imageNamed:@"XmarkWhite.png"];
    NSMutableArray *animation = [[NSMutableArray alloc] initWithObjects:mistakeOne, mistakeOneB , nil];
    [mistakeNumberOne setAnimationImages:animation];
    mistakeNumberOne.animationDuration = 5.0;
    [mistakeNumberOne startAnimating]
Run Code Online (Sandbox Code Playgroud)

谢谢!

Pfi*_*itz 8

假设wrongNumberOne是一个 UIImageView

[mistakeNumberOne animationRepeatCount:1];
Run Code Online (Sandbox Code Playgroud)

如果要在动画之后保留图像,请在动画之前在UIImageview中设置所需图像:

mistakeNumberOne.image = myDesiredImage;
Run Code Online (Sandbox Code Playgroud)

动画结束后,它将显示图像.

把它们放在一起:

 UIImage *mistakeOne = [UIImage imageNamed:@"Xmark.png"];
 UIImage *mistakeOneB = [UIImage imageNamed:@"XmarkWhite.png"];
 NSMutableArray *animation = [[NSMutableArray alloc] initWithObjects:mistakeOne, mistakeOneB , nil];
 [mistakeNumberOne setAnimationImages:animation];
 mistakeNumberOne.animationDuration = 5.0;
 [mistakeNumberOne animationRepeatCount:1];
 mistakeNumberOne.image = mistakeOneB;
 [mistakeNumberOne startAnimating];
Run Code Online (Sandbox Code Playgroud)