zoukankan      html  css  js  c++  java
  • iOS- 利用UIImageView自己整了个不会说话的汤姆猫

    1.实现思路             

    先说说我实现它的主要思路,很简单,主要利用UIImageView连续动画播放,和按钮的点击事件,就可以完成了这么一个简单的不会说话的汤姆猫。

    2.实现细节             

     

    2.1.加载本地字典里保存的本地图片名       

    @property (weak, nonatomic) IBOutletUIImageView *tom;

    NSDictionary *_dict; // 保存所有图片的个数

    1 // 1.获得tom.plist的全路径
    2     NSBundle *bundle = [NSBundle mainBundle];
    3     NSString *path = [bundle pathForResource:@"tom" ofType:@"plist"];
    4     
    5     // 2.根据文件路径加载字典
    6     _dict = [NSDictionary dictionaryWithContentsOfFile:path];

    2.2.抽取动画连续播放的方法出来         

    1.有缓存(无法释放,参数传的是文件名)
    [UIImage imageNamed:@""];

    2.无缓存(用完就会释放,参数传的是全路径)
     [[UIImage alloc] initWithContentsOfFile:];

        // 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];
        

    2.3.监听按钮的点击,实现图片的连续播放形成动画

     1 #pragma mark 监听所有的按钮点击
     2 - (IBAction)btnClick:(UIButton *)sender {
     3     // 1.如果tom正在播放动画,直接返回
     4     if (_tom.isAnimating) return;
     5     
     6     // 2.取出按钮文字
     7     NSString *title = [sender titleForState:UIControlStateNormal];
     8     
     9     // 3.获得图片数量
    10     int count = [_dict[title] intValue];
    11     
    12     // 4.播放动画
    13     [self playAnim:count filename:title];
    14 }

     作者: 清澈Saup
     出处: http://www.cnblogs.com/qingche/
     本文版权归作者和博客园共有,欢迎转载,但必须保留此段声明,且在文章页面明显位置给出原文连接。

  • 相关阅读:
    openstack 部署(Q版)keystone认证服务安装配置
    git仓库创建及基本使用
    saltstackmaster迁移篇
    openstack 部署(Q版)Mysql、MQ、Memcached安装配置
    saltstack安装篇
    openstack 部署(Q版)glance镜像服务安装配置
    openstack 部署(Q版)环境准备篇
    saltstack上线环境篇(一)
    ELKelasticsearch7.10.1安装配置
    记一次centos7内核可能意外丢失(测试直接干掉)恢复方法
  • 原文地址:https://www.cnblogs.com/qingche/p/3511313.html
Copyright © 2011-2022 走看看