今天突然想到自己工程里面要用到这块,所以自己也整理了一下,留着备用,自己从网上下载了张gif的图片,拿来测试下
方法一: //设置位置和大小 把图片放在webView上播放
CGRect frame=CGRectMake(50, 50, 60,60);
frame.size=[UIImage imageNamed:@"animation.gif"].size;
//读取gif图片数据
NSData *gif=[NSData dataWithContentsOfFile:[[NSBundle mainBundle]pathForResource:@"animation" ofType:@"gif" ]]; //从工程内部找gif图片
//view生成
UIWebView *webView=[[UIWebView alloc]initWithFrame:frame];//web的大小是gif的大小
webView.userInteractionEnabled=NO;//用户不可交互
[webView loadData:gif MIMEType:@"image/gif" textEncodingName:nil baseURL:nil];//把图片加载到webview上
[self.view addSubview: webView];
方法二:
//2.将gif图片分解成多张png图片,使用UIImageView播放
UIImageView *gifImageView=[[UIImageViewalloc]initWithFrame:CGRectMake(80,90, 100,100) ];
NSArray *gifAry=[NSArrayarrayWithObjects:[UIImageimageNamed:@"1"],[UIImageimageNamed:@"2"],[UIImageimageNamed:@"3"],[UIImageimageNamed:@"4"],[UIImageimageNamed:@"5"],[UIImageimageNamed:@"6"],[UIImageimageNamed:@"7"],[UIImageimageNamed:@"8"],[UIImageimageNamed:@"9"],[UIImageimageNamed:@"10"],[UIImageimageNamed:@"11"],[UIImageimageNamed:@"12"],[UIImageimageNamed:@"13"],[UIImageimageNamed:@"14"],[UIImageimageNamed:@"15"],[UIImageimageNamed:@"16"],[UIImageimageNamed:@"17"],[UIImageimageNamed:@"18"],nil];
gifImageView.animationImages=gifAry;//动画图片数组
gifImageView.animationDuration=1;//执行一次完整动画所需的时长
gifImageView.animationRepeatCount=0;//动画重复次数 如果是1,那动画执行一遍就停止了,0 重复执行
[gifImageView startAnimating];//开始动画
[self.viewaddSubview:gifImageView];
提示:gif动画每帧间的间隔时间一定要相同,,否则没那么流畅。
原文地址:http://blog.csdn.net/lichang719/article/details/47169855