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 ...
最新文章
- python 生成器与迭代器
- 小程序分享到朋友圈功能_微信小程序开放分享到朋友圈功能
- [转] ubuntu 无线网络 配置 virtualbox
- java stw_JVM STW里的no vm operation是怎么发生的
- Bash Cookbook 学习笔记 【中级】
- GCD HDU - 1695
- mysql exporter_mysql exporter
- python3怎么用_当同时安装Python2和Python3后,如何兼容并切换使用详解(比如pip使用)...
- Bitmap对图像的处理
- 遇到一个php的错误,php初学者常见的几个错误及解决方法
- unix下ODBC连接MySQL编程_通过unixODBC访问PostgreSQL数据库
- 六自由度机械臂参数化设计
- nmds与mds的区别_PCA、PCoA、NMDS、CCA、RDA傻傻分不清楚
- 实践篇(一):数据准备和本体建模
- python处理netcdf_Python处理netCDF文件
- 【feature_column处理】- numeric_column数值列
- 分布式数据库发展历程SequoiaDB 简介
- 通过路由器绕过DDoS防御攻击web服务器总结
- 【系统故障】电脑有些网站上不去,比如爱奇艺、腾讯的网站。为什么?怎么解决?
- node python做游戏服务哪个适合做服务端_当前的几种开源游戏服务端介绍