{
序列帧动画->顺序播放一组图片
1.动画图片的数组
NSMutableArray *array = [NSMutableArray array];
2.添加动画播放的图片
for(int i = 0; i < 40; i++){
NSString *imageName = [NSString stringWithFormat:@”图片名%02.jpg”, i];
UIImage *image = [UIImage imageNamed:imageName];
[array addObject:image];
}
3.设置动画执行数组
self.tom.animationImage = array;
4.设置重复次数
self.tom.animationRepeatCount = 1;
5.设置动画时长
self.tom.animationDuration = self.tom.animationImage.count*0.075;
6.开始动画
[self.tom startAnimating];
}
关于图像的实例化
1.imageNamed:系统推荐使用的,但是图像是实例化之后的释放由系统负责,如果要自己释放图片,不能使用imageNamed方法。
2.如果要自己释放图片,需要使用imageWithContentsOfFile
NSString *path= [NSBundle mainBundle]pathForResourse:image ofType:nil];
UIImage *image = [image imageWithContentsOfFile:path];
3.动画结束之后,清理动画数组
[self performSelector:@selector(cleanup) withObject:nil afterDelay:self.tom.animationDuration];
或者将cleanup直接写为setAnimationImages:
4.方法
-(void)cleanup
{
self.tom.animationImages = nil;
[self.tom setAnimationImages:nil];
}
提示:如果放在Images.xcassets中的图片,不能使用imageWithContentsOfFile, Images.xcassets中不要存放大的图片,不常用的图片
重构-抽取代码
方法:
1.将重复代码复制到心方法中
2.根据需要调整参数