TomCat(demo15.03.15)

//
//  ViewController.m
//  TomCat
//
//  Created by xin on 15-3-15.
//  Copyright (c) 2015年 Jackey. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIImageView *tom;

@end

@implementation ViewController

//-(UIImageView *)tom{
//    if (_tom==nil) {
//        [_tom setAnimationRepeatCount:1];
//        [_tom setAnimationDuration:0.075];
//    }
//    return _tom;
//}

-(void)tomAnimation:(NSString *)imagePrefix count:(int)count{
    
    if ([self.tom isAnimating])
        return;
    
    
    NSMutableArray *array = [NSMutableArray array];
    
    for(int i=0;i<count;i++){
        NSString *imageName = [NSString stringWithFormat:@"%@_%02d.jpg",imagePrefix,i];
        //UIImage *image = [UIImage imageNamed:imageName];
        //imageNamed 适用于小图片 这里的情况,需要使用大量的图片占用很多内存
        NSString *path = [[NSBundle mainBundle] pathForResource:imageName ofType:nil];
        UIImage *image = [UIImage imageWithContentsOfFile:path];
        [array addObject:image];
    }
    
    [self.tom setAnimationImages:array];
    [self.tom setAnimationDuration:array.count*0.075];
    [self.tom setAnimationRepeatCount:1];
    [self.tom startAnimating];
    
    //释放内存
    //[self performSelector:@selector(clearTom) withObject:nil afterDelay:self.tom.animationDuration];
    [self.tom performSelector:@selector(setAnimationImages:) withObject:nil afterDelay:self.tom.animationDuration];
    
}
//-(void)clearTom{
//    self.tom.animationImages = nil;
//}

- (IBAction)headKnockOut {
    [self tomAnimation:@"knockout" count:81];
}

- (IBAction)drink {
    [self tomAnimation:@"drink" count:81];
}


@end

可以采取另外一种方式去拿到图片,但是图片拉进项目的时候应该选择reference的方式

//try the file way, but the images file should be referenced
    NSString *bundlePath = [[[NSBundle mainBundle]bundlePath]stringByAppendingPathComponent:@"Animations"];
    NSString *animPath = [bundlePath stringByAppendingPathComponent:imagePrefix];
    NSArray *files = [[NSFileManager defaultManager]contentsOfDirectoryAtPath:animPath error:nil];

    for(NSString *fileName in files){
        NSString *filePath = [NSString stringWithFormat:@"%@/%@",animPath,fileName];
        UIImage *image = [UIImage imageNamed:fileName];
        [array addObject:image];
    }

  

原文地址:https://www.cnblogs.com/lihaozhou/p/4339757.html