• ios UIview And Button TomCat


    //
    //  ViewController.h
    //  07-TomCat
    //
    //  Created by zjj on 15/5/8.
    //  Copyright (c) 2015年 zjj. All rights reserved.
    //
    
    #import <UIKit/UIKit.h>
    
    @interface ViewController : UIViewController
    
    @property (strong, nonatomic) IBOutlet UIImageView *tom;
    - (IBAction)btnClik:(UIButton *)sender;
    
    @end
     1 //
     2 //  ViewController.m
     3 //  07-TomCat
     4 //
     5 //  Created by zjj on 15/5/8.
     6 //  Copyright (c) 2015年 zjj. All rights reserved.
     7 //
     8 
     9 #import "ViewController.h"
    10 
    11 @interface ViewController ()
    12 {
    13     NSDictionary *_dict;
    14 }
    15 @end
    16 
    17 @implementation ViewController
    18 - (void)viewDidLoad {
    19     [super viewDidLoad];
    20     // 2.用NSBUndle 读取(tom.plist)文件全路径
    21     NSBundle *bundle = [NSBundle mainBundle];
    22     NSString *path = [bundle pathForResource:@"tom" ofType:@"plist"];
    23     //1.根据文件路径加载字典
    24     _dict = [NSDictionary dictionaryWithContentsOfFile:path];
    25  }
    26 
    27 - (void)btnClik:(UIButton *)sender
    28 {
    29     // 是否正在播放动画,是则点击其他按钮无效
    30     if(_tom.isAnimating)return;
    31     // 3.取出按钮文字(按钮文字事先要clean title clocr)
    32     NSString *title = [sender titleForState:UIControlStateNormal];
    33     int count = [_dict[title]intValue];
    34     [self catChange:count str:title];
    35 }
    36 - (void)catChange : (int)count str:(NSString *)playName
    37 {
    38     // 1.创建可变数组
    39     NSMutableArray *img = [NSMutableArray array];
    40     // 2.添加图片
    41     for (int i = 0 ; i < count; i++) {
    42         //%02d 保留2位多余的用0代替 如01-09 省却if判断
    43         NSString *name = [NSString stringWithFormat:@"%@_%02d.jpg",playName,i];
    44         // 加载缓存方法 大批量图片之类 会占用大量内存(内存检测泄露工具)有缓存 却无法释放
    45 //        UIImage *name = [UIImage imageNamed:path];
    46         // 系统优化
    47         // 无缓存 用完就释放
    48         NSString *paths = [[NSBundle mainBundle] pathForResource:name ofType:nil];
    49         UIImage *imgs = [[UIImage alloc]initWithContentsOfFile:paths];
    50         [img addObject:imgs];
    51     }
    52     // 3.设置动画图片
    53     _tom.animationImages = img;// 序列帧图画
    54     // 4.只播放一次
    55     _tom.animationRepeatCount = 1;
    56     // 5.设置动画的持续时间
    57     _tom.animationDuration = 0.1 * count;
    58     // 6.开始播放动画
    59     [_tom  startAnimating];
    60 }
    61 @end

  • 相关阅读:
    Atitit opencv3.0  3.1 3.2 新特性attilax总结
    Atitit html5.1 新特性attilax总结
    Atitit http2 新特性
    Atitit 大龄软件工程师的出路attilax总结
    Atitit 软件项目系统托盘图标解决方案
    Atitit js canvas的图像处理类库attilax总结与事业
    Atitit 切入一个领域的方法总结 attilax这里,机器学习为例子
    css知多少(8)——float上篇
    css知多少(7)——盒子模型
    css知多少(6)——选择器的优先级
  • 原文地址:https://www.cnblogs.com/zhangdashao/p/4489094.html
Copyright © 2020-2023  润新知