免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1532 | 回复: 1
打印 上一主题 下一主题

[iOS] IOS开发实战-----Tom猫 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-06-01 10:44 |只看该作者 |倒序浏览
项目名称:Tom猫

项目知识:UIImageView控件动画播放

效果图:


开始项目



一、

(1)添加一个项目,在storyboard添加一个UIImageView

  布局将整个ViewControl布满。
(2)添加UIImagView 默认 image,这张图片为Tom平时状态。

(3)开始写后台代码,选择分页模式

(4)Tom触摸点分解

Tom猫点击头部,胸部,脚以及6个图标都会做出相应的动作。其实这9个的核心代码是一样。这里我仅仅写头部的代码,其他部分留给读者自己思考。
(5)在Tom头部添加一个Button,当触摸到这个按钮的时候,就触发头部动作。
设置Button的属性,使得Button的文本消失

(7)进行连线,编写处理代码

在TouchHead_Click函数添加一下函数
  1. for(int i=0;i<80;i++)

  2.     {

  3.         //循环添加图片

  4.         NSString *imgName=[NSString stringWithFormat:@"knockout_%02d.jpg",i];

  5.         NSString *path=[[NSBundle mainBundle] pathForResource:imgName ofType:nil];

  6.         UIImage *img=[UIImage imageWithContentsOfFile:path];

  7.         [imgArray addObject:img];

  8.         [self LoadImageWithClearImage];

  9.     }
复制代码
另外需要自写两个函数,

1,-(void)ClearImage;清除图片

2,-(void)LoadImageWithClearImage//加载图片跟清楚图片

具体如下
  1. -(void)ClearImg

  2. {

  3.     self.ImageCat.image=nil;

  4.     [imgArray removeAllObjects];

  5. }

  6. -(void)LoadImageWithClearImage

  7. {

  8.     //设置动画源

  9.     [self.ImageCat setAnimationImages:imgArray];

  10.     //设置动画重复次数

  11.     [self.ImageCat setAnimationRepeatCount:1];

  12.     //设置动画播放的速度

  13.     [self.ImageCat setAnimationDuration:imgArray.count*0.1];

  14.     //设置动画播放完的执行的函数

  15.     [self.ImageCat performSelector:@selector(ClearImg) withObject:nil afterDelay:self.ImageCat.animationDuration];

  16.     //开始动画

  17.     [self.ImageCat startAnimating];

  18. }
复制代码
到这里核心代码已经完全写完,后面8个动作代码基本一样。
二、思路总结

定义了一个全局的NSMutableArray,作为图片储存数组。当我点击按头部的时候,会触发加载动画+清除动画。

具体如下
  1. //i为图片的张数

  2.     for(int i=0;i<80;i++)

  3.     {

  4.         //循环添加图片

  5.         NSString *imgName=[NSString stringWithFormat:@"knockout_%02d.jpg",i];

  6.         NSString *path=[[NSBundle mainBundle] pathForResource:imgName ofType:nil];

  7.         UIImage *img=[UIImage imageWithContentsOfFile:path];

  8.         [imgArray addObject:img];

  9.     }

  10.     [self LoadImageWithClearImage];
复制代码
当我加载完图片的时候就应该开始动画。但是在开始动画前需要动画进行设置。

设置动画的源-----设置动画的重复次数---设置动画的速度--设置动画结束是执行的函数--设置开始动画

具体代码如下:
  1. //设置动画源

  2.     [self.ImageCat setAnimationImages:imgArray];

  3.     //设置动画重复次数

  4.     [self.ImageCat setAnimationRepeatCount:1];

  5.     //设置动画播放的速度

  6.     [self.ImageCat setAnimationDuration:imgArray.count*0.1];

  7.     //设置动画播放完的执行的函数

  8.     [self.ImageCat performSelector:@selector(ClearImg) withObject:nil afterDelay:self.ImageCat.animationDuration];

  9.     //开始动画

  10.     [self.ImageCat startAnimating];
复制代码

论坛徽章:
1
操作系统版块每日发帖之星
日期:2015-06-13 22:20:00
2 [报告]
发表于 2015-06-12 18:25 |只看该作者
哈哈哈 ,有意思,用swift实现一下呗
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP