关于使用UIImageView显示一串图片组成动画效果的总结:
1》创建装这一串图片的容器,使用NSArray
NSMutableArray *images = [NSMutableArray array];
2》使用NSBudle类加载进来图片,然后每次加载进来一个图片就赋给一个UIImage对象,(注意:使用这个类加载进来的图片可以清除缓存,但是其他方法加载比如
UIImage *image = [UIImage imageNamed:fileName];方法加载的无法清除缓存。)
NSString *fileName = [NSString stringWithFormat:@"%@_%02d.jpg",name, i]; // UIImage *image = [UIImage imageNamed:fileName]; // [images addObject:image]; NSBundle *bundle = [NSBundle mainBundle]; NSString *path = [bundle pathForResource:fileName ofType:nil]; UIImage *image = [UIImage imageWithContentsOfFile:path];
3》把每一个UIImage对象放入集合数组中。
[images addObject:image];
4》把容器数组赋给UIImageView的animationImages属性
self.tom.animationImages = images;
5》设置动画的属性,然后开始动画
self.tom.animationRepeatCount = 1; self.tom.animationDuration = images.count * 0.08; [self.tom startAnimating];
6》因为每次动画都要拔图片加载近内存,如果不清楚内存中没用的图片内存的占用就会很高。所以清除内存的做法是
//清除图片缓存 CGFloat delay = self.tom.animationDuration + 0.05; [self.tom performSelector:@selector(setAnimationImages:) withObject:nil afterDelay:delay];
时间: 2024-12-12 08:43:53