在APP开发过程中能用到gif图的地方无非就是刷新和加载动画了(等用到小动画的地方).但是UIImageView是无法直接加载gif图的,ImageView提供了一个加载动画图片数组的方法..那要有很多帧.png/.jpg的图片才行…但是像我这种没有美工的开发,网上只找了一张gif图怎么办….
为数组类别,添加一个类方法–由一张项目中的gif图的名字返回其中很多帧UIImage的数组.
@interface NSArray (CDIExtention)
/** 将一个gif图转换为一帧一帧的图片数组*/
+ (NSArray *)cdi_imagesWithGif:(NSString *)gifNameInBoundle;
导入ImageIO框架
(1) 获取到GIF图的源数据 CGImageSourceRef
CGImageSourceRef gifSource = CGImageSourceCreateWithURL((CFURLRef)fileUrl, NULL);
(2) 由源数据 SourceRef生成一张CGImageRef类型图片
CGImageRef imageRef = CGImageSourceCreateImageAtIndex(gifSource, i, NULL);