zoukankan      html  css  js  c++  java
  • 猫学习IOS(四)UI半小时就搞定Tom猫

    阿土 首先对影响
    下载项目的源材料: 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。项目。项目素材。。。。

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

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

  • 相关阅读:
    gcc代码反汇编查看内存分布[1]: gcc
    centos5.5 安装git
    裸机代码(uboot) : clear bss
    互联网协议入门
    git从github下载代码
    linux账户管理(centos)
    jz2440: linux/arch/arm/下面的plat-和mach-
    位置无关码
    【漫画】什么是外部排序?【转】
    快速排序 Vs. 归并排序 Vs. 堆排序——谁才是最强的排序算法
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/4754051.html
Copyright © 2011-2022 走看看