ios中播放gif动画
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动画每桢间的时间间隔不同,不能达到此效果。
ios中播放gif动画相关推荐
- 在Powerbuilder中播放Flash动画
在Powerbuilder中播放Flash动画. w_flash.ole_1.object.movie=gs_apppath+"\pic1\泵.swf" w_flash.ole_1 ...
- android如何播放动画,Android中播放Gif动画取巧的办法
由于做的项目,要有个动画的等待效果,第一时间想到的就是Gif(懒,省事),但是试了好多据说能播放Gif的控件,也写过,但是放到魅族手机上就是不能播放,所有就想了个招,既然Gif能在浏览器上播放,那an ...
- DataGridView单元格中播放gif动画的变通方法(转自:博客园蜡人张)
WinForm应用程序中如何在DataGridView的某一列中播放gif动画,单纯添加一个DataGridViewImageColumn列是不行的,显示出来的图片只是gif动画的一帧,是静止的.在不 ...
- android中播放gif动画之二
2019独角兽企业重金招聘Python工程师标准>>> 在上一篇,是使用代码通过构造方法传入要播放的gif动画的id进行获取的.本文进一步改造,让GifView和ImageView一 ...
- WPF中播放Flash动画
WPF本身不直接支持播放Flash动画,需要做点"设计",下面是示例(嵌入WPF窗口播放). 1.首先在VS2010中建立项目.打开VS2010后选择"文件"- ...
- android中播放gif动画之三
之前写了些简单的类基本可以实现gif的播放,主要是使用的Movie类来解决的.今天无意中在网上看到有个开源小项目GifView可以用来解析播放GIF,名字居然跟我写的控件一样,呵呵,看了源码,实现方式 ...
- android中播放gif动画之一
在android中默认的控件是不支持gif格式的图片的,只能显示图片的第一帧,这里需要借助于Movie类.将图片进行解析播放.下面使用一种纯代码的自定义控件,这种方式使用方便,但不支持像ImageVi ...
- iOS中实现弹簧动画
我们都知道iOS9 CASpringAnimation 弹簧动画,操作简单,容易实现,目前使用也比较广泛,下面我给大家介绍一种pop的弹簧效果,跟CASpringAnimation 弹簧动画 很相似 ...
- unity中播放spine动画突然删掉报错
这个脚本增加 protected void ApplyAnimation () { 增加为null的判断if (skeleton!=null){skeleton.UpdateWorldTransfor ...
最新文章
- C# 最快的逐一打印斐波那契结果数列的算法
- 强化学习大规模应用还远吗?Youtube推荐已强势上线
- 实践人生 —— 一个普通IT人的十年回顾(下)
- 运行 vue 报node错
- 用户id生成规则_阿里/网易/美团/58用户画像中的ID体系建设
- Qt, Python(一)
- 前端知识点梳理(一)
- HDU1269 迷宫城堡(模板题)
- 杨辉三角变形(高效解析)
- enum 有什么好处_林卡尔|先买地板后装修的三大好处
- centos7恢复mysql数据库_MySQL数据库升级迁移填坑记
- Java并发编程之线程安全
- Java中堆、栈和常量池的区别
- 3. 机器学习中为什么需要梯度下降?梯度下降算法缺点?_一起学习西瓜书2
- 网络嗅探器(影音神探) v4.63 绿色正式版http://down.hotlife.cn/html/download/2006/6/05/1149478572.shtml
- 中国农业大学专业学位计算机,中国农业大学(专业学位)计算机技术考研难吗
- 若依开发文档手册[持续更新:拥抱初次使用若依的开发者]
- wps和office有什么区别?
- 所谓的Crack大揭秘
- proteus中示波器的各刻度的含义
热门文章
- java批量执行查询sql语句_详解MyBatis直接执行SQL查询及数据批量插入
- 七十四、滑动窗口最值问题
- 为了OFFER系列 | 牛客网美团点评数据分析刷题
- NeurIPS 2020 | 一种基于动作采样的简单高效的正则化强化学习方法
- AI到底有多吃香?推荐一个斯坦福、CMU、清北学生都在上的AI课
- 免费注册丨全国社会媒体处理大会(SMP 2020)召开,98场报告日程全公开
- 从变分编码、信息瓶颈到正态分布:论遗忘的重要性
- 机器学习模型,能分清川菜和湘菜吗?
- 来自闪闪宝石的光芒 - “宝石迷阵” x 信息检索 | 论文访谈间 #20
- java第六章工具包6.2.Collection Streams 2020.4.7