阿土 首先对影响

下载项目的源材料: Tom猫游戏代码iOS 素http://blog.csdn.net/u013357243/article/details/44457357

效果图

以前风靡一时的tom猫事实上制作起来那是叫一个相当的easy啊

功能所有实现。(关键是素材。没有素材的能够加我微信)

新手也能够非常快的完毕tom这个非常拉轰的ios应用哦

做过android的我表示,android党默哀下把。那个做起来真心痛苦。。

。。









然后呢你须要准备这些素材。

。。



拖拽控件吧。由于这一个项目用到的不是非常多,用代码写太累了。得不偿失,大家有兴趣的能够自己谢谢纯代码做ui的练习哦不会的能够參考我的前面一篇

猫猫学IOS(三)UI之纯代码实现UI——图片查看器

拖拽控件,那些东西呢 看图片吧

就是这些东西。那个名字的地方在代码中又妙用

另外UIButton的tag属性也被加入了奇异的数字

假设不会拖拽控件的能够看 猫猫学IOS(一)UI之Hello World与加法计算器

以下上代码

代码

//调用button监听方法
-(IBAction)tomAction:(UIButton *)button{
[self tomAnimationWithName:button.currentTitle count:button.tag];
}
//让tom猫动起来,name是要运行动作的名字 count是图片的个数
-(void) tomAnimationWithName:(NSString *) name count:(NSInteger) count
{
//假设动画正在播放就返回不运行
if (self.tom.isAnimating) {
return;
}
//序列帧动画 播放一组图片
//指定动绘图片的数组
NSMutableArray *arrayM = [NSMutableArray array];
//加入动画播放的素材
for (int i = 0; i<count; i++) {
NSString *imageName = [NSString stringWithFormat:@"%@_%02d.jpg",name,i]; // UIImage *image = [UIImage imageNamed:imageName];
// 得到全路径名字
NSString *path = [[NSBundle mainBundle] pathForResource:imageName ofType:nil];
UIImage *image = [UIImage imageWithContentsOfFile:path];
arrayM[i] = image;
}; //把操作好的UIImage图片放到UIImageView的animationImages其中 把图片数组放Tom控件中
self.tom.animationImages = arrayM;
//设置运行一次
[self.tom setAnimationRepeatCount:1];
//设置运行时间
self.tom.animationDuration = arrayM.count * 0.075; //開始运行动画
[self.tom startAnimating]; //结束动画后,清理动画数组
[self.tom performSelector:@selector(setAnimationImages:) withObject:nil afterDelay:self.tom.animationDuration];
}

这里就是我们要用到的代码了。记得要给弄好的代码前面的圈圈连到ui上面,否则点不点都无用的

你敢相信吗,tom猫就这么几行代码就完毕了,不到一个屏幕,大多数还是凝视。

说说应该注意的地方吧

这里面内存管理特别重要,我们并没实用ios建议 我们用的

[UIImage imageNamed:name];

而是用了:

[UIImage imageWithContentsOfFile:path]。

由于这样我们能够更完美的释放内存

内存在ios中相当重要。客户体验一直是苹果提醒的(据说android5.0还是5.1又漏了。。

。事实上安卓真的不错。我没有黑android的意思哦,仅仅是希望android能更加茁壮的成长,更加完好。)

重构_图像的实例化

重构–抽代替码

方法:

1> 将反复代码拷贝到新的方法中

2> 依据须要调整參数

关于图像的实例化

imageNamed:系统推荐使用的,可是图像实例化之后的释放由系统负责

假设要自己释放图片。不能使用imageNamed方法!

而须要使用imageWithContentsOfFile

提示:假设放在Images.xcassets中的图片,不能使用imageWithContentsOfFile

Images.xcassets中不要 存放大的,不经常使用的图片

PS1.须要学习资料的能够加我微信 znycat(标注从哪看到的,学习资料都免费,包含视频。ppt。项目。项目素材。。。。

) 。————我就是太多学不完了,想找几个人陪我一起纠结。欢迎大家来交流。

版权声明:本文博客原创文章。博客,未经同意,不得转载。

猫学习IOS(四)UI半小时就搞定Tom猫的更多相关文章

  1. (素材源代码)猫猫学IOS(四)UI之半小时搞定Tom猫

    下载地址:http://download.csdn.net/detail/u013357243/8514915 以下是执行图片展示 制作思路以及代码解析 猫猫学IOS(四)UI之半小时搞定Tom猫这里 ...

  2. AJ学IOS(04)UI之半小时搞定Tom猫

    AJ分享 必须精品  效果图 曾经风靡一时的tom猫其实制作起来那是叫一个相当的easy啊 功能全部实现,(关键是素材,没有素材的可以加我微信) 新手也可以很快的完成tom这个很拉轰的ios应用哦 然 ...

  3. 【数据结构】 最小生成树(四)——利用kruskal算法搞定例题×3+变形+一道大水题

    在这一专辑(最小生成树)中的上一期讲到了prim算法,但是prim算法比较难懂,为了避免看不懂,就先用kruskal算法写题吧,下面将会将三道例题,加一道变形,以及一道大水题,水到不用高级数据结构,建 ...

  4. 怎样在两小时内搞定 OpenStack 部署?(转)

    怎样在两小时内搞定 OpenStack 部署? OpenStack的安装是一个难题,组件众多,非常麻烦.如果手工部署OpenStack,可能需要好几天,使用RDO,就是几个命令,再加一两个小时的等待. ...

  5. 猫学习IOS(十五)UI以前的热的打砖块游戏

    猫分享.必须精品 材料代号地址:http://blog.csdn.net/u013357243/article/details/44814523 原文地址:viewmode=contents" ...

  6. 猫学习IOS(三)UI纯代码UI——图片浏览器

    猫分享.必须精品 看看效果 主要实现相似看新闻的一个界面,不用拖拽,纯代码手工写. 首先分析app能够非常easy知道他这里有两个UILabel一个UIImageView还有两个UIButton 定义 ...

  7. 猫学习IOS(五岁以下儿童)UI之360其他下载管理器广场UI

    猫分享.必须精品 下载材料:http://blog.csdn.net/u013357243/article/details/44486651 先看效果 主要是完毕了九宫格UI的搭建 代码 - (voi ...

  8. iOS 3DES加密解密(一行代码搞定)

    3DES(或称为Triple DES)是三重数据加密算法(TDEA,Triple Data Encryption Algorithm)块密码的通称.它相当于是对每个数据块应用三次DES加密算法.由于计 ...

  9. iOS开发一行代码系列:一行搞定数据库

    原理 iOS 和 SQL的相应关系 Model类结构      =>    SQL表结构 Model实例       =>  SQL表中的一行 Model实例的属性   =>   S ...

随机推荐

  1. 创建并使用静态库(ar 命令)

     创建并使用静态库(ar 命令)            archive命令的功能是:创建或改动归档文件或者从归档文件里析取信息.能够简单的理解为一个打包工具,将成员文件依照一定的规则构建到.a文件里, ...

  2. C库函数标准编程之fscanf()函数解读及其实验

    函数功能 fscanf()函数用于从参数stream的文件流中读取format格式的内容,然后存放到...所指定的变量中去.字符串以空格或换行符结束(实验1中会对它进一步说明) 函数格式 字符格式说明 ...

  3. Python的控制结构(转)

    首先我的工作第一语言是c/c++(面向对象子集).选择学习python一方面是因为看很多人都说python开发效率高,所以想验证一下:另一方面,Eric S. Raymond在文章:如何成为一名黑客 ...

  4. String的Split方法的用法与要注意事项

    转自:http://shukuiyan.iteye.com/blog/1058672 之前在http://shukuiyan.iteye.com/blog/507915文中已经叙述过这个问题,但是最近 ...

  5. unity3d由于Camera.main.transform报空引用错误的解决方案

    今天在导入character包后,引用了内置的第三人称素材,但是在启动的时候程序报空引用的错误: 引起错误的位置在: 错误原因是因为没有将摄像机的tag设置为maincamera,改为maincame ...

  6. JS 在 HTML 无缝滚动

    marquee图片无缝滚动先了解一下对象的几个的属性:innerHTML: 设置或获取位于对象起始和结束标签内的 HTMLscrollHeight: 获取对象的滚动高度.scrollLeft: 设置或 ...

  7. login控件“您的登录尝试不成功。请重试”的解决方法

    原文:login控件"您的登录尝试不成功.请重试"的解决方法 遇到login控件“您的登录尝试不成功.请重试”报错之后,在网上找了很久,也按照如下帖子设置了 application ...

  8. JNDI 什么

    JNDI是 Java 命名与文件夹接口(Java Naming and Directory Interface).在J2EE规范中是重要的规范之中的一个,不少专家觉得,没有透彻理解JNDI的意义和作用 ...

  9. WebPack实例与前端性能优化

    [前端构建]WebPack实例与前端性能优化   计划把微信的文章也搬一份上来. 这篇主要介绍一下我在玩Webpack过程中的心得.通过实例介绍WebPack的安装,插件使用及加载策略.感受构建工具给 ...

  10. 每天进步一点点——再次了解Linux进程ID

    转载请注明出处:http://blog.csdn.net/cywosp/article/details/38968011 1. 概述 众所周知,进程(process)是一个可运行程序的实例,可是在Li ...