首页 > 代码库 > 汤姆猫
汤姆猫
第一次学习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
汤姆猫