iOS 中 GIF 图片的显示方法
2014-08-25 13:50
483 查看
iPhone SDK提供了多种动画手段,UIView、UIImageView和CALayer都支持动画。但如何处理常见的gif动画呢?UIWebView提供了答案,代码如下:
1. 使用UIWebView播放
//
设定位置和大小
CGRect
frame = CGRectMake(50,50,0,0);
frame.size
= [UIImage imageNamed:@"guzhang.gif"].size;
//
读取gif图片数据
NSData
*gif = [NSData dataWithContentsOfFile: [[NSBundle mainBundle] pathForResource:@"guzhang" ofType:@"gif"]];
//
view生成
UIWebView
*webView = [[UIWebView alloc] initWithFrame:frame];
webView.userInteractionEnabled
= NO;//用户不可交互
[webView
loadData:gif MIMEType:@"image/gif" textEncodingName:nil baseURL:nil];
[self.view
addSubview:webView];
[webView
release];
2.将gif图片分解成多张png图片,使用UIImageView播放。
代码如下:
UIImageView
*gifImageView = [[UIImageView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
NSArray
*gifArray = [NSArray arrayWithObjects:[UIImage imageNamed:@"1"],
[UIImage
imageNamed:@"2"],
[UIImage
imageNamed:@"3"],
[UIImage
imageNamed:@"4"],
[UIImage
imageNamed:@"5"],
[UIImage
imageNamed:@"6"],
[UIImage
imageNamed:@"7"],
[UIImage
imageNamed:@"8"],
[UIImage
imageNamed:@"9"],
[UIImage
imageNamed:@"10"],
[UIImage
imageNamed:@"11"],
[UIImage
imageNamed:@"12"],
[UIImage
imageNamed:@"13"],
[UIImage
imageNamed:@"14"],
[UIImage
imageNamed:@"15"],
[UIImage
imageNamed:@"16"],
[UIImage
imageNamed:@"17"],
[UIImage
imageNamed:@"18"],
[UIImage
imageNamed:@"19"],
[UIImage
imageNamed:@"20"],
[UIImage
imageNamed:@"21"],
[UIImage
imageNamed:@"22"],nil];
gifImageView.animationImages
= gifArray; //动画图片数组
gifImageView.animationDuration
= 5; //执行一次完整动画所需的时长
gifImageView.animationRepeatCount
= 1; //动画重复次数
[gifImageView
startAnimating];
[self.view
addSubview:gifImageView];
[gifImageView
release];
注意:这个方法,如果gif动画每桢间的时间间隔不同,不能达到此效果。
1. 使用UIWebView播放
//
设定位置和大小
CGRect
frame = CGRectMake(50,50,0,0);
frame.size
= [UIImage imageNamed:@"guzhang.gif"].size;
//
读取gif图片数据
NSData
*gif = [NSData dataWithContentsOfFile: [[NSBundle mainBundle] pathForResource:@"guzhang" ofType:@"gif"]];
//
view生成
UIWebView
*webView = [[UIWebView alloc] initWithFrame:frame];
webView.userInteractionEnabled
= NO;//用户不可交互
[webView
loadData:gif MIMEType:@"image/gif" textEncodingName:nil baseURL:nil];
[self.view
addSubview:webView];
[webView
release];
2.将gif图片分解成多张png图片,使用UIImageView播放。
代码如下:
UIImageView
*gifImageView = [[UIImageView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
NSArray
*gifArray = [NSArray arrayWithObjects:[UIImage imageNamed:@"1"],
[UIImage
imageNamed:@"2"],
[UIImage
imageNamed:@"3"],
[UIImage
imageNamed:@"4"],
[UIImage
imageNamed:@"5"],
[UIImage
imageNamed:@"6"],
[UIImage
imageNamed:@"7"],
[UIImage
imageNamed:@"8"],
[UIImage
imageNamed:@"9"],
[UIImage
imageNamed:@"10"],
[UIImage
imageNamed:@"11"],
[UIImage
imageNamed:@"12"],
[UIImage
imageNamed:@"13"],
[UIImage
imageNamed:@"14"],
[UIImage
imageNamed:@"15"],
[UIImage
imageNamed:@"16"],
[UIImage
imageNamed:@"17"],
[UIImage
imageNamed:@"18"],
[UIImage
imageNamed:@"19"],
[UIImage
imageNamed:@"20"],
[UIImage
imageNamed:@"21"],
[UIImage
imageNamed:@"22"],nil];
gifImageView.animationImages
= gifArray; //动画图片数组
gifImageView.animationDuration
= 5; //执行一次完整动画所需的时长
gifImageView.animationRepeatCount
= 1; //动画重复次数
[gifImageView
startAnimating];
[self.view
addSubview:gifImageView];
[gifImageView
release];
注意:这个方法,如果gif动画每桢间的时间间隔不同,不能达到此效果。
相关文章推荐
- IOS显示gif图片,超简单方法
- iOS开发中实现显示gif图片的方法
- iOS显示GIF图片(3中方法)
- iOS开发中实现显示gif图片的方法
- Android之ImageView既能普通图片又能显示gif的方法
- delphi显示 jpg、png、gif 图片及 gif 动画的方法
- c# winform 显示动态gif图片的方法
- 关于qt显示gif图片的方法
- iOS GIF 格式动画 图片显示
- [iOS]iOS7+ UITabBar修改选中图片显示为默认蓝色的问题解决方法,去除UITabbar顶部一像素横线
- C++中使用CAtlHttpClient显示网络图片的方法,支持png,bmp,gif图片格式
- ios显示gif格式图片
- 显示JPG和GIF图片的简单方法
- iOS GIF 格式动画 图片显示
- 显示JPG和GIF图片的简单方法
- C++中使用CAtlHttpClient显示网络图片的方法,支持png,bmp,gif图片格式
- IOS显示GIF图片
- iOS 使用UIView 显示gif图片 + ImageMagick 的mac上安装
- iOS用UIWebView显示GIF图片
- Android 显示 Gif动态图片的三种常用方法