Sian 发表于 2014-3-28 21:01:48

ios实战开发之汤姆猫

1、效果演示

http://player.youku.com/player.php/sid/XNjkxMjA3NjIw/v.swf


2、主体代码说明:

SAViewControler.m
//
//SAViewController.m
//TomCat
//
//Created by yusian on 14-3-27.
//Copyright (c) 2014年 yusian. All rights reserved.
//

#import "SAViewController.h"

@interface SAViewController ()
{
    NSDictionary *_animation;
}

@end

@implementation SAViewController

// view加载完成后会自动调用一次该方法
- (void)viewDidLoad
{
    ;
      // Do any additional setup after loading the view, typically from a nib.
   
    // 获得tom.plist文件的路径
    NSBundle *bundle = ;
    NSString *path = ;
   
    // 创建一个字典用来存储plist文件中的内容,key:图片文件夹名称及对应的value:图片数
    // 图片名 = 图片文件夹名+序号 = 按钮title = 字典key
    _animation = ;
   
}

// 点击事件处理,以下代码经过重构处理,所有的点击事件都由该一个方法处理,通过按钮title区分点击事件的来源
- (IBAction)btnClick:(UIButton *)sender {

    // 加层判断,如果动画正在播放则直接返回,说明暂时不执行任何操作
    if (self.image.isAnimating) return;
   
    // 取出所点击按钮的title字段值
    NSString *title = ;
   
    // 创建一个数组用来存储UIImage对象
    NSMutableArray *images = [ init];
   
    // 开始循环,每次循环长度都等于每个动画所包含的图片数,通过循环将UIImage存入到images数组中
    for (int i = 0; i < integerValue]; i++) {
      
      // 通过按钮传进来的titel,间接取到了每个按钮对应的动画及动画对应的所有图片
      NSBundle *bundle = ;
      NSString *imagePath = ofType:nil];
   
      // 将取出来的图片一张一张加入到image数组中
      ];
    }
   
    // UIImage的animationImages方法可以通过赋值的图片,自动将图片按顺序更换(即逐帧动画,类似旧式电影播放原理)
    self.image.animationImages = images;
   
    // 动画重复次数
    self.image.animationRepeatCount = 1;
   
    // 动画时长,最佳时间为根据图片数目而定,根据人眼视觉暂留特性,最佳频率是0.12秒一帧(旧式电影更换胶片频率)
    self.image.animationDuration = 0.12 * images.count;
   
    // 一切就绪,开始动画
    ;;
   
}
@end

3、源代码参考下载:**** Hidden Message *****

基础参考链接:ios实战开发之UISegmentedControl



页: [1]
查看完整版本: ios实战开发之汤姆猫