首页 > 代码库 > 汤姆猫

汤姆猫

第一次学习MJ老师的IOS视频,一边学习一边做笔记。
/**以后做app时要时刻关注系统内存,防止崩溃*/
/**要学会多做文档注释,当系统有多个属性时,文档注释有帮助*/
#import "SKViewController"
@interface SKViewController()
//将背景图片拉到UIViewController中去
@property(nonatomic,weak)IBOutlet UIImageView *tom;
//给按钮喝牛奶添加事件
-(IBAction)drink;
//后面的几种活动,例如说话,吃饭等等原理和喝牛奶一样
//当要给他的头部有一个点击事件时,可以在头部上面加上一个透明的按钮,接下来的操作和喝牛奶一样
@end

@implemention SKViewController
-(IBAction)drink
{
    //如果他现在正在进行某项活动,则返回
    if(self.tom.isAnimating)
        return;        
    //1.加载所有的动画图片
    NSMutableArray *images=[NSMutableArray array];
    for(int i=0;i<81;i++)
    {
        //%02d告诉电脑需要保持两位,前面不够的用0填补
        NSString *fileName=[NSString stringWithFormat:@"drink_%02d.jpg",i];
    //加载图片
    //UIImage *image=[UIImage imageNamed:fileName];//imageNamed当图片比较大时,系统有缓存机制,优点:可以直接
    //从内存中读取,很快。缺点:会占用内存,导致系统崩溃。所以当加载大图片时,不适合使用这种方法
    
    NSBundle *bundle=[NSBundle mainBundle];
    NSString *path=[bundle pathForResource:fileName ofType:nil];    
    UIImage *image=[UIImage imageWithContentsOfFile:path];
    
    //添加图片到数组中去
    [images addObject:image];
    }
    //将图片存到tom的动画图片中去1
    self.tom.animationImages=images;
    //设置播放次数1
    self.tom.animationRepeatCount=1;
    //设置播放时间1
    self.tom.animationDuration=images.count*0.05;
    //开始播放动画1
    [self.tom startAnimating];
    
    CGFloat delay=self.tom.animationDuration+1.0;
    //当动画播放完毕后,1秒后清除内存,这样子可以提升内存空间
    [self performSelecter:@selector(setAnimationImages) withObject:nil afterDelay:delay];
    
}

    self.tom.animationImages=nil;
}
@end

汤姆猫