//

//  MJViewController.m

//  05-汤姆猫

//

//  Created by apple on 14-3-24.

//  Copyright (c) 2014年 itcast. All rights reserved.

//

#import "MJViewController.h"

@interface MJViewController ()

- (IBAction)drink;

- (IBAction)knock;

- (IBAction)rightFoot;

/** 这是一只显示图片的猫 */

@property (weak, nonatomic) IBOutletUIImageView *tom;

@end

@implementation MJViewController

/** 播放动画 */

- (void)runAnimationWithCount:(int)count name:(NSString *)name

{

if (self.tom.isAnimating)return;

// 1.加载所有的动画图片

NSMutableArray *images = [NSMutableArrayarray];

for (int i = 0; i<count; i++) {

// 计算文件名

NSString *filename = [NSString stringWithFormat:@"%@_%02d.jpg", name, i];

// 加载图片

// imageNamed: 有缓存(传入文件名)

//        UIImage *image = [UIImage imageNamed:filename];

// imageWithContentsOfFile: 没有缓存(传入文件的全路径)

NSBundle *bundle = [NSBundle mainBundle];

NSString *path = [bundle pathForResource:filenameofType:nil];

UIImage *image = [UIImage imageWithContentsOfFile:path];

// 添加图片到数组中

[images addObject:image];

}

self.tom.animationImages = images;

// 2.设置播放次数(1次)

self.tom.animationRepeatCount =1;

// 3.设置播放时间

self.tom.animationDuration = images.count * 0.05;

[self.tomstartAnimating];

// 4.动画放完1秒后清除内存

CGFloat delay =self.tom.animationDuration +1.0;

[self.tomperformSelector:@selector(setAnimationImages:)withObject:nilafterDelay:delay];

//    [self performSelector:@selector(clearCache) withObject:nil afterDelay:delay];

}

//- (void)clearCache

//{

self.tom.animationImages = nil;

//

//    [self.tom setAnimationImages:nil];

//}

- (IBAction)drink {

[selfrunAnimationWithCount:81name:@"drink"];

//    if (self.tom.isAnimating) return;

//

//    // 1.加载所有的动画图片

//    NSMutableArray *images = [NSMutableArray array];

//

//    for (int i = 0; i<81; i++) {

//        // 计算文件名

//        NSString *filename = [NSString stringWithFormat:@"drink_%02d.jpg", i];

//        // 加载图片

//        UIImage *image = [UIImage imageNamed:filename];

//        // 添加图片到数组中

//        [images addObject:image];

//    }

//    self.tom.animationImages = images;

//

//    // 2.设置播放次数(1次)

//    self.tom.animationRepeatCount = 1;

//

//    // 3.设置播放时间

//    self.tom.animationDuration = images.count * 0.05;

//

//    [self.tom startAnimating];

}

- (IBAction)knock {

[selfrunAnimationWithCount:81name:@"knockout"];

}

- (IBAction)rightFoot {

[selfrunAnimationWithCount:30name:@"footRight"];

}

@end

iOS开发UI基础—09UIImageView动画示例之汤姆猫程序相关推荐

  1. iOS开发UI基础—手写控件,frame,center和bounds属性

    iOS开发UI基础-手写控件,frame,center和bounds属性 一.手写控件 1.手写控件的步骤 (1)使用相应的控件类创建控件对象 (2)设置该控件的各种属性 (3)添加控件到视图中 (4 ...

  2. iOS开发——UI基础-UIImage,UIImageView的使用

    1.UIImage 创建UIImage的两种方法 UIImage *image = [UIImage imageNamed:imageNmae];UIImage *image = [UIImage i ...

  3. iOS开发UI篇—核心动画(基础动画)

    一.简单介绍 CAPropertyAnimation的子类 属性解析: fromValue:keyPath相应属性的初始值 toValue:keyPath相应属性的结束值 随着动画的进行,在长度为du ...

  4. ios开发-UI基础-应用管理(单纯界面)

    功能分析 以九宫格的形式展示应用信息 点击下载按钮后,做出相应操作(弹出一个提示"正在下载",相应应用的下载按钮变为"已下载") 步骤分析 搭建UI界面 加载应 ...

  5. iOS开发UI篇—核心动画(UIView封装动画)

    一.UIView动画(首尾) 1.简单说明 UIKit直接将动画集成到UIView类中,当内部的一些属性发生改变时,UIView将为这些改变提供动画支持 执行动画所需要的工作由UIView类自动完成, ...

  6. iOS开发UI篇—核心动画简介

    一.简单介绍 Core Animation,中文翻译为核心动画,它是一组非常强大的动画处理API,使用它能做出非常炫丽的动画效果,而且往往是事半功倍.也就是说,使用少量的代码就可以实现非常强大的功能. ...

  7. 【Web网站服务器开发】apache和tomcat 阿帕奇和汤姆猫

    经常在用apache和tomcat等这些服务器,可是总感觉还是不清楚他们之间有什么关系,在用tomcat的时候总出现apache,总感到迷惑,到底谁是主谁是次,因此特意在网上查询了一些这方面的资料,总 ...

  8. 汤姆猫程序(UIImageView动画)

    /** 这是一只显示图片的猫 */ @property (weak, nonatomic) IBOutlet UIImageView *tom;@end@implementation MJViewCo ...

  9. OS开发UI篇—核心动画(基础动画)

    文顶顶 最新博文发布地址:花田半亩(wendingding.com) iOS开发UI篇-核心动画(基础动画) iOS开发UI篇-核心动画(基础动画) 一.简单介绍 CAPropertyAnimatio ...

  10. 【IOS开发进阶系列】动画专题

    1 CALayer IOS SDK详解之CALayer(一) http://doc.okbase.net/Hello_Hwc/archive/123447.html 1.1 基本概念 1.1.1 CA ...

最新文章

  1. mysql 多表并列查询_MySQL-18(多表查询INNER/LEFT/RIGHT JOIN)
  2. 27岁华裔小伙一战成名!搞出美国新冠最准预测模型,一人干翻专业机构,彭博:Superstar...
  3. MySQL WHERE语句筛选操作符
  4. 集合之TreeMap源码分析,简单介绍什么是红黑树,SortedMap和NavigableMap之间的关系和区别
  5. beta 圆桌桌 4
  6. mysql省市县三级互动_mysql+ajax的省市县三级联动
  7. 第5章 初识JQuery
  8. 远程连接Oracle 数据库连接报错ORA-12638身份检索失败
  9. 有谁用过sendinput摸拟一个鼠标击键?
  10. oracle的reliable message等待事件
  11. 【C语言】谭浩强C语言程序设计第五版135页例5.11译密码题的新解
  12. 《黑客攻防技术-系统实战》开篇讲解
  13. Scratch(二十七):恐龙飞奔
  14. 用css制作旋转的立方体
  15. NLP NLU NLG 简介
  16. java使用jbarcode生成条形码
  17. 互联网时代,传统企业如何做引流拓客?
  18. 想看微信读书终生无限卡,瞅这儿
  19. 关于Numpy数组中属性shape的理解
  20. 2005年商业科技盘点:最被高估10大技术

热门文章

  1. Reinforced Neighborhood Selection Guided Multi-Relational Graph Neural Networks阅读笔记
  2. 500Illegal PORT command 错误 无法取得目录列表 8uftp
  3. 阿里云oss使用cdn,节省oss下行流量
  4. windows ubuntu 双系统 蓝屏Technical information: ***stop:0x0000007B(0x80786B58,0xC0000034,0x00000000,0x00
  5. 开源构建知识库体系的工具——Trilium使用方法
  6. win10卸载软件_教你彻底关闭Win10自动更新,以及卸载预装应用
  7. Solidity 投票案例
  8. 高德地图安卓 拖拽选点_高德地图想再造一个大众点评?
  9. java 转义_java的StringEscapeUtils转义与反转义
  10. 搞定签到码,一切皆可码!!!微信小程序篇