UIImageView帧动画相关属性和方法: 需要播放的序列帧图片数组(里面都是UIImage对象,会按顺序显示里面的图片) @property(nonatomic,copy) NSArray *animationImages; 帧动画的持续时间 @property(nonatomic) NSTimeInterval animationDuration; 帧动画的执行次数(默认是无限循环) @property(nonatomic) NSInteger animationRepeatCount; 开始执行帧动画 - (void)startAnimating; 停止执行帧动画 - (void)stopAnimating; 是否正在执行帧动画 - (BOOL)isAnimating; 例:加载动画图片的方式 // 1.加载所有的动画图片 - (void)runAnimationWithCount:(int)count name:(NSString *)name { if (self.imageView.isAnimating) return; // 1.加载所有的动画图片 NSMutableArray *images = [NSMutableArray array]; for (int i = 0; i // 计算文件名 NSString *filename = [NSString stringWithFormat:@"%@_d.jpg", name, i]; // 加载图片 // imageNamed: 有内存缓存直到程序退出才释放(传入文件名) // UIImage *image = [UIImage imageNamed:filename]; // imageWithContentsOfFile: 没有缓存,自动释放(传入文件的全路径) NSBundle *bundle = [NSBundle mainBundle]; NSString *path = [bundle pathForResource:filename ofType:nil]; UIImage *image = [UIImage imageWithContentsOfFile:path]; // 添加图片到数组中 [images addObject:image]; } self.imageView.animationImages = images; // 2.设置播放次数(1次) self.imageView.animationRepeatCount = 1; // 3.设置播放时间 self.imageView.animationDuration = images.count * 0.05; [self.imageViewstartAnimating]; // 4.动画放完1秒后清除内存 CGFloat delay = self.tom.animationDuration; [self.tom performSelector:@selector(setAnimationImages:) withObject:nil afterDelay:delay]; }
时间: 2024-10-02 20:12:25