之前有做iphone的gif播放,搜索了很多博客,有几种方法
1)原理是解析出GIf,然后利用UIimageView的animationImage这个方法来设置动画。写出这个代码是牛人。
2)利用UIWebView来播放GIf
[self.unreadWebView setOpaque:NO];
[self.unreadWebView setBackgroundColor:[UIColor clearColor]];
NSString* gifFileName = @"alert.gif";
NSMutableString* htmlStr = [NSMutableString string];
[htmlStr appendString:@"<img src=\""];
[htmlStr appendFormat:@"%@",gifFileName];
[htmlStr appendString:@"\" alt=\"picture\"/>"];
[self.unreadWebView loadHTMLString:htmlStr baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]];
3)利用opengl来实现,如http://www.cocoachina.com/iphonedev/sdk/2010/0416/1084.html
4)利用iphone自带的 CGImageSource相关方法来实现
以上的方法1,3对于很多GIF播放支持不好,尤其是那种GIF帧间有依赖关系(或者说压缩过),播放起来显示不全,第二种没用过,据说只能播放一次,不能循环。
所以选了第四种。网络上有开源代码GifView,不过这个代码不太好,尤其有预加载图像的时候,会自动播放。我做了一些改动。
源码:有要的联系我邮箱吧, linzhiji@gmail.com