A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yuanlingqi 中级黑马   /  2014-11-13 21:21  /  1787 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 yuanlingqi 于 2014-11-13 21:25 编辑

今天参照例子写了个tomcat的小程序,感慨ios实现动画真的是太容易了。

实现思路:
1.主要是利用UIImageView的播放动画属性来完成播放动画。
2.每当点击一个动作按钮,通过事件获取点击动作的title,这样就知道需要播放哪个动作了;
3.通过title,从预存的NSDictionary里获取该图片的总张数;
4.然后根据title和图片数量,通过NSBundle获取到图片路径,将所有要播放的图片加载到一个可变数组;
5.最后将获取到的图片数组设置到UIImageView的动画属性里,调用播放方法,so easy!

  1. #import "CJPViewController.h"

  2. @interface CJPViewController (){
  3.     NSDictionary *dic;
  4. }

  5. @end

  6. @implementation CJPViewController

  7. //初始加载方法
  8. - (void)viewDidLoad
  9. {
  10.     [super viewDidLoad];
  11.     //tom.plist中存放每个表情图片的页数
  12.     NSBundle *bundle = [NSBundle mainBundle];
  13.     NSString *path = [bundle pathForResource:@"tom" ofType:@"plist"];
  14.     //读取dictionary中的数据
  15.     dic = [NSDictionary dictionaryWithContentsOfFile:path];
  16. }

  17. - (IBAction)action:(UIButton *)sender {
  18.     //获取图片名称
  19.     NSString *title = [sender titleForState:UIControlStateNormal];
  20.     //将图片名称和从字典中获取的相应图片的数量作为参数调用动画方法
  21.     [self animate:title :[dic[title] intValue]];
  22. }

  23. -(void)animate:(NSString *)prefixName :(int)count{
  24.     //若动画正在进行,则点击无效
  25.     if ([_image isAnimating]) {
  26.         return;
  27.     }
  28.     //声明可变数组,存放需要播放的图片
  29.     NSMutableArray * images = [NSMutableArray array];
  30.    
  31.     //读取相应动作图片并放入数组
  32.     for (int i=0; i<count; i++) {
  33.         NSString *name = [NSString stringWithFormat:@"%@_%02d.jpg",prefixName,i];
  34.         NSString *path = [[NSBundle mainBundle]pathForResource:name ofType:nil];
  35.         //读取指定路径的图片
  36.         UIImage *image = [[UIImage alloc]initWithContentsOfFile:path];
  37.         //将图片放入数组
  38.         [images addObject:image];
  39.     }
  40.     //设置图片播放次数
  41.     [_image setAnimationRepeatCount:1];
  42.     //设置每张图片的播放时间和需要播放的图片数量
  43.     [_image setAnimationDuration:0.1*count];
  44.     //设图片view的动画属性
  45.     _image.animationImages = images;
  46.     //开始播放图片
  47.     [_image startAnimating];
  48. }

  49. @end
复制代码










评分

参与人数 1黑马币 +1 收起 理由
星河鹭起 + 1

查看全部评分

10 个回复

倒序浏览
大神请问你是几期的学员啊?
回复 使用道具 举报
jinzhinan 发表于 2014-11-14 00:02
大神请问你是几期的学员啊?

我不是大神,没期,还没上
回复 使用道具 举报
yuanlingqi 发表于 2014-11-14 22:07
我不是大神,没期,还没上

都是自学的?很厉害啊
回复 使用道具 举报
牛XXX
回复 使用道具 举报

视频教的太清楚了,一点也不牛X,加油吧,骚年
回复 使用道具 举报
yuanlingqi 发表于 2014-11-14 22:57
视频教的太清楚了,一点也不牛X,加油吧,骚年

那你学得也太快了!
回复 使用道具 举报
本帖最后由 yuanlingqi 于 2014-11-15 05:07 编辑
易拉罐 发表于 2014-11-14 23:11
那你学得也太快了!

天道酬勤:lol
回复 使用道具 举报
邵起 中级黑马 2014-11-15 09:18:19
9#
进阶视频的内容吧!厉害!
回复 使用道具 举报
感谢楼主 谢谢快给点币或分谢谢
回复 使用道具 举报
冰点 中级黑马 2014-11-15 14:03:00
11#
太厉害了!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马