iOS开发UI基础—09UIImageView动画示例之汤姆猫程序
//
// 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动画示例之汤姆猫程序相关推荐
- iOS开发UI基础—手写控件,frame,center和bounds属性
iOS开发UI基础-手写控件,frame,center和bounds属性 一.手写控件 1.手写控件的步骤 (1)使用相应的控件类创建控件对象 (2)设置该控件的各种属性 (3)添加控件到视图中 (4 ...
- iOS开发——UI基础-UIImage,UIImageView的使用
1.UIImage 创建UIImage的两种方法 UIImage *image = [UIImage imageNamed:imageNmae];UIImage *image = [UIImage i ...
- iOS开发UI篇—核心动画(基础动画)
一.简单介绍 CAPropertyAnimation的子类 属性解析: fromValue:keyPath相应属性的初始值 toValue:keyPath相应属性的结束值 随着动画的进行,在长度为du ...
- ios开发-UI基础-应用管理(单纯界面)
功能分析 以九宫格的形式展示应用信息 点击下载按钮后,做出相应操作(弹出一个提示"正在下载",相应应用的下载按钮变为"已下载") 步骤分析 搭建UI界面 加载应 ...
- iOS开发UI篇—核心动画(UIView封装动画)
一.UIView动画(首尾) 1.简单说明 UIKit直接将动画集成到UIView类中,当内部的一些属性发生改变时,UIView将为这些改变提供动画支持 执行动画所需要的工作由UIView类自动完成, ...
- iOS开发UI篇—核心动画简介
一.简单介绍 Core Animation,中文翻译为核心动画,它是一组非常强大的动画处理API,使用它能做出非常炫丽的动画效果,而且往往是事半功倍.也就是说,使用少量的代码就可以实现非常强大的功能. ...
- 【Web网站服务器开发】apache和tomcat 阿帕奇和汤姆猫
经常在用apache和tomcat等这些服务器,可是总感觉还是不清楚他们之间有什么关系,在用tomcat的时候总出现apache,总感到迷惑,到底谁是主谁是次,因此特意在网上查询了一些这方面的资料,总 ...
- 汤姆猫程序(UIImageView动画)
/** 这是一只显示图片的猫 */ @property (weak, nonatomic) IBOutlet UIImageView *tom;@end@implementation MJViewCo ...
- OS开发UI篇—核心动画(基础动画)
文顶顶 最新博文发布地址:花田半亩(wendingding.com) iOS开发UI篇-核心动画(基础动画) iOS开发UI篇-核心动画(基础动画) 一.简单介绍 CAPropertyAnimatio ...
- 【IOS开发进阶系列】动画专题
1 CALayer IOS SDK详解之CALayer(一) http://doc.okbase.net/Hello_Hwc/archive/123447.html 1.1 基本概念 1.1.1 CA ...
最新文章
- mysql 多表并列查询_MySQL-18(多表查询INNER/LEFT/RIGHT JOIN)
- 27岁华裔小伙一战成名!搞出美国新冠最准预测模型,一人干翻专业机构,彭博:Superstar...
- MySQL WHERE语句筛选操作符
- 集合之TreeMap源码分析,简单介绍什么是红黑树,SortedMap和NavigableMap之间的关系和区别
- beta 圆桌桌 4
- mysql省市县三级互动_mysql+ajax的省市县三级联动
- 第5章 初识JQuery
- 远程连接Oracle 数据库连接报错ORA-12638身份检索失败
- 有谁用过sendinput摸拟一个鼠标击键?
- oracle的reliable message等待事件
- 【C语言】谭浩强C语言程序设计第五版135页例5.11译密码题的新解
- 《黑客攻防技术-系统实战》开篇讲解
- Scratch(二十七):恐龙飞奔
- 用css制作旋转的立方体
- NLP NLU NLG 简介
- java使用jbarcode生成条形码
- 互联网时代,传统企业如何做引流拓客?
- 想看微信读书终生无限卡,瞅这儿
- 关于Numpy数组中属性shape的理解
- 2005年商业科技盘点:最被高估10大技术
热门文章
- Reinforced Neighborhood Selection Guided Multi-Relational Graph Neural Networks阅读笔记
- 500Illegal PORT command 错误 无法取得目录列表 8uftp
- 阿里云oss使用cdn,节省oss下行流量
- windows ubuntu 双系统 蓝屏Technical information: ***stop:0x0000007B(0x80786B58,0xC0000034,0x00000000,0x00
- 开源构建知识库体系的工具——Trilium使用方法
- win10卸载软件_教你彻底关闭Win10自动更新,以及卸载预装应用
- Solidity 投票案例
- 高德地图安卓 拖拽选点_高德地图想再造一个大众点评?
- java 转义_java的StringEscapeUtils转义与反转义
- 搞定签到码,一切皆可码!!!微信小程序篇