iOS:如何使动画播放3次,然后结束



我在在线教程中找到了此代码。它在无尽的循环中播放动画。

我想制作一个动画,然后播放三次,然后结束。现在,我有一个循环动画。这是一个非常简单的问题,但是由于我对iOS是全新的。

#import "APOViewController.h"
@interface APOViewController ()
@end
@implementation APOViewController
- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    NSArray *imageNames = @[@"win_1.png", @"win_2.png", @"win_3.png", @"win_4.png",
                            @"win_5.png", @"win_6.png", @"win_7.png", @"win_8.png",
                            @"win_9.png", @"win_10.png", @"win_11.png", @"win_12.png",
                            @"win_13.png", @"win_14.png", @"win_15.png", @"win_16.png"];
    NSMutableArray *images = [[NSMutableArray alloc] init];
    for (int i = 0; i < imageNames.count; i++) {
        [images addObject:[UIImage imageNamed:[imageNames objectAtIndex:i]]];
    }
    // Normal Animation
    UIImageView *animationImageView = [[UIImageView alloc] initWithFrame:CGRectMake(120, 80, 86, 193)];
    animationImageView.animationImages = images;
    animationImageView.animationDuration = 0.5;
    [self.view addSubview:animationImageView];
    [animationImageView startAnimating];
}
- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.

}
@end

谢谢。我试图将到目前为止收到的两个不同答案结合在一起。但是我仍然会遇到一个错误"'uiimageView'没有可见的@interface声明selector'InimationRepeatCount:'

这是我将代码更改为:

#import "APOViewController.h"
#import "UIKit/UIImageView.h"
@interface APOViewController ()
@property(nonatomic) NSInteger animationRepeatCount;
@end
@implementation APOViewController
- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    NSArray *imageNames = @[@"win_1.png", @"win_2.png", @"win_3.png", @"win_4.png",
                            @"win_5.png", @"win_6.png", @"win_7.png", @"win_8.png",
                            @"win_9.png", @"win_10.png", @"win_11.png", @"win_12.png",
                            @"win_13.png", @"win_14.png", @"win_15.png", @"win_16.png"];
    NSMutableArray *images = [[NSMutableArray alloc] init];
    for (int i = 0; i < imageNames.count; i++) {
        [images addObject:[UIImage imageNamed:[imageNames objectAtIndex:i]]];
    }
    // Normal Animation
    UIImageView *animationImageView = [[UIImageView alloc] initWithFrame:CGRectMake(120, 80, 86, 193)];
    animationImageView.animationImages = images;
    animationImageView.animationDuration = 0.5;
    [self.view addSubview:animationImageView];
    [animationImageView startAnimating];
    [animationImageView animationRepeatCount:3];
    [animationImageView stopAnimating];
}
- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.

}
@end

执行此操作:

[animationImageView setRepeatCount:3];

使用uiimageView @property(nonAtomic)nsinteger AnimationRepeatCount;

的属性

最新更新