• 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];
        }
    

      

  • 相关阅读:
    前端开发者应该知道的 CSS 小技巧
    css3制作六边形图片
    css3 绘制优惠券
    flex css 布局
    js 微信分享
    JS判断移动设备最佳方法 并实现跳转至手机版网页
    ajax 提交成功页面跳转问题
    css相关tips
    无阻塞加载和defer、async
    常用排序算法
  • 原文地址:https://www.cnblogs.com/lihaozhou/p/4339757.html
Copyright © 2020-2023  润新知