iOS_5_汤姆猫
终于效果图:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcHJlX2VtaW5lbnQ=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
BeyondViewController.h
//
// BeyondViewController.h
// 05_TomCat
//
// Created by beyond on 14-7-23.
// Copyright (c) 2014年 com.beyond. All rights reserved.
// #import <UIKit/UIKit.h> @interface BeyondViewController : UIViewController
@property (weak, nonatomic) IBOutlet UIImageView *imgView_tom;
- (IBAction)btnClick:(UIButton *)sender; @end
BeyondViewController.m
//
// BeyondViewController.m
// 05_TomCat
//
// Created by beyond on 14-7-23.
// Copyright (c) 2014年 com.beyond. All rights reserved.
// #import "BeyondViewController.h" @interface BeyondViewController ()
{
NSDictionary *_dict;
} @end @implementation BeyondViewController - (void)viewDidLoad
{
[super viewDidLoad]; // sg_bundle模板代码,1,获得.app基本的包;2,返回基本的包中某个文件的fullPath全路径
NSBundle *mainBundle = [NSBundle mainBundle];
NSString *fullPath = [mainBundle pathForResource:@"tom.plist" ofType:nil];
_dict = [NSDictionary dictionaryWithContentsOfFile:fullPath]; }
- (IBAction)btnClick:(UIButton *)sender {
// 假设正在动画,则直接返回
if ([_imgView_tom isAnimating]) {
return;
} // button上面的text就是字典的key,相应值-1是相应动画的图片张数
// NSString *text = sender.titleLabel.text;
NSString *text = [sender titleForState:UIControlStateNormal];
int *picNum = [_dict[text] intValue];
NSLog(@"%@----%d",text,picNum); // 调用自己定义方法 播放动画
[self playAnimatitonNamed:text picNumber:picNum]; }
-(void)playAnimatitonNamed:(NSString *)name picNumber:(int)picNum
{
// 实例化可变数组
NSMutableArray *array = [NSMutableArray array];
// 向可变数组加入UIImage
for (int i=0; i<picNum; i++) {
// 生成image方式1,驻留内存,压力过大,真机会崩掉
NSString *fullName = [NSString stringWithFormat:@"%@_%02d.jpg",name,i];
UIImage *img = [UIImage imageNamed:fullName];
// 生成image方式2,IO读取全路径,用完就释放,不驻留内存
//NSString *fullPath = [[NSBundle mainBundle] pathForResource:fullName ofType:nil];
//UIImage *img2 = [[UIImage alloc] initWithContentsOfFile:fullPath];
// 加入UIImage到数组
[array addObject:img];
}
// 设置UIImageView的动画參数,并提交动画
_imgView_tom.animationImages = array;
_imgView_tom.animationDuration = 0.1*picNum;
_imgView_tom.animationRepeatCount = 1;
[_imgView_tom startAnimating];
}
@end
iOS_5_汤姆猫的更多相关文章
- [iOS基础控件 - 3.4] 汤姆猫
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css); @import url(/ ...
- 声音变调算法PitchShift(模拟汤姆猫) 附完整C++算法实现代码
上周看到一个变调算法,挺有意思的,原本计划尝试用来润色TTS合成效果的. 实测感觉还需要进一步改进,待有空再思考改进方案. 算法细节原文,移步链接: http://blogs.zynaptiq.com ...
- [UI基础][不会说话的汤姆猫]
会说话的汤姆猫这个APP层级风靡一时,其UI部分就是利用了序列动画的技术, 接下来 我们用汤姆猫来演示怎么制作序列动画. [要求]: 1.学会使用序列动画的方法 2.学会分析动画播放中内存占用高的问题 ...
- iOS- 利用UIImageView自己整了个不会说话的汤姆猫
1.实现思路 先说说我实现它的主要思路,很简单,主要利用UIImageView连续动画播放,和按钮的点击事件,就可以完成了这么一个简单的不会说话的汤姆猫. 2.实现细节 2.1.加载本地字典里保存的本 ...
- 使用UISegementControl实现简易汤姆猫程序
// // TomViewController.m #import "TomViewController.h" #import <AVFoundation/AVFoundat ...
- 156 UIImageView 和 CADisplayLink 实现 Tom 汤姆猫动画效果的区别(扩展知识:分组(黄色文件夹)和文件夹引用(蓝色文件夹)区别)
(1)UIImageView 的动画操作,来自定义循环播放动画(不建议使用,内存消耗大) (2)CADisplayLink 是一个计时器,但是同 NSTimer 不同的是,CADisplayLink ...
- IOS 汤姆猫核心代码
// // MJViewController.m // 03-Tom // // Created by apple on 13-11-24. // Copyright (c) 2013年 itcast ...
- 【Web网站服务器开发】apache和tomcat 阿帕奇和汤姆猫
经常在用apache和tomcat等这些服务器,可是总感觉还是不清楚他们之间有什么关系,在用tomcat的时候总出现apache,总感到迷惑,到底谁是主谁是次,因此特意在网上查询了一些这方面的资料,总 ...
- Web核心之tomcat汤姆猫
web相关概念 1. 软件架构 1. C/S:客户端/服务器端 2. B/S:浏览器/服务器端 2. 资源分类 1. 静态资源:所有用户访问后,得到的结果都是一样的,称为静态资源.静态资源可以直接被浏 ...
随机推荐
- UIView独占响应事件
exclusiveTouch A Boolean value that indicates whether the receiver handles touch events exclusively. ...
- EF 不允许启动新事务,因为有其他线程正在该会话中运行。
引起原因:在查询中提交了更改.如在遍历的时候,调用了savechanges(): 解决:把savechange()提到循环外. IOrderedQueryable<TOH ...
- HTTP 错误 404.2 - Not Found 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面。
IIS的根节点->右侧"ISAPI和CGI限制"->把禁止的DotNet版本项设置为允许,即可.
- ECMA-262,第 5 版 最新 JavaScript 规范
ECMA-262,第 5 版 最新 JavaScript 规范 Rob Larsen, 界面架构师, IBM 简介: 了解 ECMAScript 规范的历史,查看它的众多重要新特性和新概念. 发布日期 ...
- iOS: FFmpeg的使用一
现状:现在视频直播非常的火,所以在视频直播开发中,使用的对视频进行遍解码的框架显得尤为重要了,其实,这种框架蛮多的,这次主要介绍一下FFmpeg视频播放器的集成和使用,FFmpeg是视频编解码的利器. ...
- Orchard运用 - 如何隐藏去除某些Meta标记
众所周知,每个系统多多少少都会有一些痕迹或标记之类的东西, 比如默认的Orchard搭建的网站, 如果你查看源代码即可看到类似的代码: <meta content="Orchard&q ...
- SQL PRIMARY KEY,SQL FOREIGN KEY
A primary key is defined as a column or a group of column that their value are always be unique. Nor ...
- 阿里云 Ubuntu 14.04 安装mysql 5.6
1. 升级apt-get apt-get update 如果出现 : 说明没有你不是root用户,则需要用sudo命令 sudo apt-get update 下面出现权限问题都可以参照这个方法. 2 ...
- easyui messager alert 三秒后自动关闭提示
$.messager.alert(' ','<font size=\"2\" color=\"#666666\"><strong>数据库 ...
- apple iMac一体机 装双系统 实战! (Apple +Win 7 64bit)Good
原帖:http://group.zol.com.cn/1/641_485.html 需要准备工具:一个8GU盘X1 (或Win7 安装版系统盘) Windows 7 pro 64bit 位 ISO 文 ...