IOS疯狂基础之GIF图片的显示
2019独角兽企业重金招聘Python工程师标准>>>
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动画每桢间的时间间隔不同,不能达到此效果。
转载于:https://my.oschina.net/fadoudou/blog/701539
IOS疯狂基础之GIF图片的显示相关推荐
- IOS疯狂基础之UIImage
from: http://blog.csdn.net/wudizhukk/article/details/8989804 CGImage和CGImageRef这两个应当是用来重绘图形的类,它们在应用时 ...
- python tk label 多字体_Python3 tkinter基础 Label compound 图片上显示文字 fg字体颜色 font字体大小...
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda : 4.5.11 typesetting : Markdown ...
- IOS疯狂基础之屏幕旋转控制,获得当前方向
获得当前屏幕方向 self.interfaceOrientation或[[UIApplication sharedApplication] statusBarOrientation] if (self ...
- IOS疯狂基础之隐藏系统键盘
最简单的办法--设置为不可用: [dateTo setUserInteractionEnabled:NO];//不弹出键盘 [dateFrom setEnabled:NO];//不弹出键盘 [[[UI ...
- IOS疯狂基础之键盘挡住输入框
一般来讲就是把整个屏幕上移么,不让键盘遮住 #pragma mark textField delegate 输入完后代理事件 - (void)textFieldDidEndEditing:(UITe ...
- IOS疯狂基础之MessageUI—短信
我们知道可以使用这样的代码在iphone中发送短信:[[UIApplication sharedApplication] openURL:@"sms:12345678"]; 但这样 ...
- Facebook iOS 应用是如何加速图片显示的?
本文讲的是Facebook iOS 应用是如何加速图片显示的?, 你的Facebook的动态消息中充满着一些关于你朋友.家人以及你所爱的人的照片,也许你会想要在手机上也能重温那些场景.我们一直在寻找提 ...
- 服务器接收ios图片无法显示,IOS下图片不能显示问题的解决办法
最近在写H5的时候遇到这么一个问题,就是在页面上使用img标签放一张图片在IOS系统下的浏览器都不显示(其实是存在这张图片了,只是是一块白的,长按还可以下载图片)(纠正一下:就简单放一张图片上去,IO ...
- IOS开发基础之截图、图片文字水印
IOS开发基础之截图.图片文字水印 项目源码在我的主页里面. // // ViewController.m // 31-屏幕截图 // // Created by 鲁军 on 2021/2/22. / ...
最新文章
- 关于子业之间相互取得元素或者方法
- soup.a.parents都有哪些
- 谈谈对分布式事务的一点理解和解决方案
- 资本主义的历史仍未终结(作者:袁剑)【转】
- Elasticsearch实战:给博客打造全文检索
- Jenkins学习总结(3)——Jenkins+Maven+Git搭建持续集成和自动化部署的
- Pytest之基本介绍
- 构建 QC + QTP 自动化测试框架 2:QC 与 QTP 安装
- 【python】一道LeetCode搞懂递归算法!#131分割回文串 #以及刷LeetCode的一点点小心得 [数据结构与算法基础]
- 游戏筑基之两个变量交换值与三个变量交换值的比较(C语言)
- mac PHP 环境搭建
- 3DMax 完全重置
- python调用nmap扫描局域网存活主机和端口
- 【微信小程序毕业设计源代码】校园考勤打卡及作业管理小程序系统丨前后分离VUE[包运行成功]
- VS+QT5报错:LNK2019无法解析的外部符号“_declspec(dllimport)public:bool_cdecl QSerialPort“
- Linux文件其他操作
- Ubuntu内核版本升级
- wireshark之文件还原
- php开发地图导航,百度地图API使用方法详解
- 在chromium内不能激活fcitx输入法
热门文章
- react月份选择控件_看我的案例:用react写一个日历控件!
- 部门级服务器一般支持几个cpu,部门级服务器简介
- 全国计算机机专业考试试题,2010全国非计算机专业一级考试试题
- java filehelper_Java常用工具类---IP工具类、File文件工具类
- 游戏服务器维护重启,游戏服务器需要定期重启吗
- 论述计算机科学与技术专业的狭义与广义,2013年秋季学期计算机科学与技术专业《高等代数》复习提纲与补充题...
- docx文档怎么排列图片_“胶水语言”办公自动化Word篇——使用Python编辑和读取Word文档
- h5文字垂直居中_CSS居中的常用方式以及优缺点
- 计算机组成原理包健百度云,计算机组成原理包健版答案
- ubuntu java 1.8 1.7_java – 在Ubuntu上从JDK 1.7移动到JDK 1.8