//
// MJViewController.m
// 03-Tom
//
// Created by apple on 13-11-24.
// Copyright (c) 2013年 itcast. All rights reserved.
// #import "MJViewController.h" @interface MJViewController () { NSDictionary *_dict; // 保存所有图片的个数
}
@end @implementation MJViewController - (void)viewDidLoad { [super viewDidLoad]; // 1.获得tom.plist的全路径
NSBundle *bundle = [NSBundle mainBundle];
NSString *path = [bundle pathForResource:@"tom" ofType:@"plist"]; // 2.根据文件路径加载字典
_dict = [NSDictionary dictionaryWithContentsOfFile:path];
} - (void)playAnim:(int)count fliename:(NSString *)filename { // 1.创建可变数组
NSMutableArray *images = [NSMutableArray array]; // 2.添加图片
for (int i = 0; i<count; i++) { // 图片名
NSString *name = [NSString stringWithFormat:@"%@_%02d.jpg", filename, i];
// 全路径
NSString *path = [[NSBundle mainBundle] pathForResource:name ofType:nil]; // 加载图片(缓存)
// UIImage *img = [UIImage imageNamed:name];
// 没有缓存
UIImage *img = [[UIImage alloc] initWithContentsOfFile:path]; [images addObject:img];
} // 3.设置动画图片(有顺序)
_tom.animationImages = images;// 序列帧动画 // 4.只播放一次
_tom.animationRepeatCount = 1; // 5.设置动画的持续时间
_tom.animationDuration = 0.1 * count; // 5.开始动画
[_tom startAnimating];
} #pragma mark 监听所有的按钮点击
- (IBAction)btnClick:(UIButton *)sender { // 1.如果tom正在播放动画,直接返回
if (_tom.isAnimating) return; // 2.取出按钮文字
NSString *title = [sender titleForState:UIControlStateNormal]; // 3.获得图片数量
int count = [_dict[title] intValue]; // 4.播放动画
[self playAnim:count fliename:title];
} @end

  

IOS 汤姆猫核心代码的更多相关文章

  1. [iOS基础控件 - 3.4] 汤姆猫

    @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css); @import url(/ ...

  2. 声音变调算法PitchShift(模拟汤姆猫) 附完整C++算法实现代码

    上周看到一个变调算法,挺有意思的,原本计划尝试用来润色TTS合成效果的. 实测感觉还需要进一步改进,待有空再思考改进方案. 算法细节原文,移步链接: http://blogs.zynaptiq.com ...

  3. [UI基础][不会说话的汤姆猫]

    会说话的汤姆猫这个APP层级风靡一时,其UI部分就是利用了序列动画的技术, 接下来 我们用汤姆猫来演示怎么制作序列动画. [要求]: 1.学会使用序列动画的方法 2.学会分析动画播放中内存占用高的问题 ...

  4. iOS- 利用UIImageView自己整了个不会说话的汤姆猫

    1.实现思路 先说说我实现它的主要思路,很简单,主要利用UIImageView连续动画播放,和按钮的点击事件,就可以完成了这么一个简单的不会说话的汤姆猫. 2.实现细节 2.1.加载本地字典里保存的本 ...

  5. Web核心之tomcat汤姆猫

    web相关概念 1. 软件架构 1. C/S:客户端/服务器端 2. B/S:浏览器/服务器端 2. 资源分类 1. 静态资源:所有用户访问后,得到的结果都是一样的,称为静态资源.静态资源可以直接被浏 ...

  6. 156 UIImageView 和 CADisplayLink 实现 Tom 汤姆猫动画效果的区别(扩展知识:分组(黄色文件夹)和文件夹引用(蓝色文件夹)区别)

    (1)UIImageView 的动画操作,来自定义循环播放动画(不建议使用,内存消耗大) (2)CADisplayLink 是一个计时器,但是同 NSTimer 不同的是,CADisplayLink ...

  7. iOS_5_汤姆猫

    终于效果图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcHJlX2VtaW5lbnQ=/font/5a6L5L2T/fontsize/400/fill ...

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

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

  9. 使用UISegementControl实现简易汤姆猫程序

    // // TomViewController.m #import "TomViewController.h" #import <AVFoundation/AVFoundat ...

随机推荐

  1. Spring和redis简单测试demo

    1.1 首先创建一个Maven工程 File --> New --> Other,然后选择Maven目录下的Maven Project,如下图: 然后在弹出的面板中选择配置后,下一步即可, ...

  2. 记录Spring Boot大坑一个,在bean中如果有@Test单元测试,不会注入成功

    记录Spring Boot大坑一个,在bean中如果有@Test单元测试,不会注入成功 记录Spring Boot大坑一个,在bean中如果有@Test单元测试,不会注入成功 记录Spring Boo ...

  3. hibernate 4.3 在使用获取数据获取不到数据库中最新变更的数据问题解决

    hibernate 4.3 在使用获取数据获取不到数据库中最新变更的数据问题解决,应该是因为缓存问题 问题过程和现象: 查询一个数据列表=>数据库中手动update了数据=>刷新页面,数据 ...

  4. codeforces 900D 数论+组合+容斥原理

    问有多少个这样的数字序列 所有数的GCD等于x 并且 所有数的和等于y 题解: 非常难有思路啊 看题解后过的. 考虑序列GCD为x的倍数 即GCD = n*x 和当然都为y 这个条件不要忘了 这样我们 ...

  5. 根据已知日期(yyyy-MM-dd)获取前n天的日期区间

    //获取天 var pubTime="2017-12-30" function buildDay(num){ num=num-1; var myDate = new Date(pu ...

  6. 浏览器的 16ms 渲染帧--摘抄

    由于现在广泛使用的屏幕都有固定的刷新率(比如最新的一般在 60Hz), 在两次硬件刷新之间浏览器进行两次重绘是没有意义的只会消耗性能. 浏览器会利用这个间隔 16ms(1000ms/60)适当地对绘制 ...

  7. 标准C程序设计七---35

    Linux应用             编程深入            语言编程 标准C程序设计七---经典C11程序设计    以下内容为阅读:    <标准C程序设计>(第7版) 作者 ...

  8. linux 时间模块 二

    Linux中有硬件时钟与系统时钟 在Linux中有硬件时钟与系统时钟等两种时钟.硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟.系统时钟则是指kernel中的时钟.当Linux启 ...

  9. Mysql让主键归0

    Mysql 相关技术 1.Mysql 让主键 归0: TRUNCATE TABLE * 2.只清空数据表,主键不归0: DELETE FROM 'TABLE' 3.重启数据库: /etc/init.d ...

  10. Yii框架Yiiapp()的理解

    Yii::app() 是一个实例化的对象,是我们在当前框架里边可以直接操作的对象,        我们可以把这个对象理解成请求应用的第一个对象. Yii框架是纯OOP面向对象框架,也就是利用对象调用类 ...