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图片的显示相关推荐

  1. IOS疯狂基础之UIImage

    from: http://blog.csdn.net/wudizhukk/article/details/8989804 CGImage和CGImageRef这两个应当是用来重绘图形的类,它们在应用时 ...

  2. 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 ...

  3. IOS疯狂基础之屏幕旋转控制,获得当前方向

    获得当前屏幕方向 self.interfaceOrientation或[[UIApplication sharedApplication] statusBarOrientation] if (self ...

  4. IOS疯狂基础之隐藏系统键盘

    最简单的办法--设置为不可用: [dateTo setUserInteractionEnabled:NO];//不弹出键盘 [dateFrom setEnabled:NO];//不弹出键盘 [[[UI ...

  5. IOS疯狂基础之键盘挡住输入框

    一般来讲就是把整个屏幕上移么,不让键盘遮住 #pragma mark textField delegate  输入完后代理事件 - (void)textFieldDidEndEditing:(UITe ...

  6. IOS疯狂基础之MessageUI—短信

    我们知道可以使用这样的代码在iphone中发送短信:[[UIApplication sharedApplication] openURL:@"sms:12345678"]; 但这样 ...

  7. Facebook iOS 应用是如何加速图片显示的?

    本文讲的是Facebook iOS 应用是如何加速图片显示的?, 你的Facebook的动态消息中充满着一些关于你朋友.家人以及你所爱的人的照片,也许你会想要在手机上也能重温那些场景.我们一直在寻找提 ...

  8. 服务器接收ios图片无法显示,IOS下图片不能显示问题的解决办法

    最近在写H5的时候遇到这么一个问题,就是在页面上使用img标签放一张图片在IOS系统下的浏览器都不显示(其实是存在这张图片了,只是是一块白的,长按还可以下载图片)(纠正一下:就简单放一张图片上去,IO ...

  9. IOS开发基础之截图、图片文字水印

    IOS开发基础之截图.图片文字水印 项目源码在我的主页里面. // // ViewController.m // 31-屏幕截图 // // Created by 鲁军 on 2021/2/22. / ...

最新文章

  1. 关于子业之间相互取得元素或者方法
  2. soup.a.parents都有哪些
  3. 谈谈对分布式事务的一点理解和解决方案
  4. 资本主义的历史仍未终结(作者:袁剑)【转】
  5. Elasticsearch实战:给博客打造全文检索
  6. Jenkins学习总结(3)——Jenkins+Maven+Git搭建持续集成和自动化部署的
  7. Pytest之基本介绍
  8. 构建 QC + QTP 自动化测试框架 2:QC 与 QTP 安装
  9. 【python】一道LeetCode搞懂递归算法!#131分割回文串 #以及刷LeetCode的一点点小心得 [数据结构与算法基础]
  10. 游戏筑基之两个变量交换值与三个变量交换值的比较(C语言)
  11. mac PHP 环境搭建
  12. 3DMax 完全重置
  13. python调用nmap扫描局域网存活主机和端口
  14. 【微信小程序毕业设计源代码】校园考勤打卡及作业管理小程序系统丨前后分离VUE[包运行成功]
  15. VS+QT5报错:LNK2019无法解析的外部符号“_declspec(dllimport)public:bool_cdecl QSerialPort“
  16. Linux文件其他操作
  17. Ubuntu内核版本升级
  18. wireshark之文件还原
  19. php开发地图导航,百度地图API使用方法详解
  20. 在chromium内不能激活fcitx输入法

热门文章

  1. react月份选择控件_看我的案例:用react写一个日历控件!
  2. 部门级服务器一般支持几个cpu,部门级服务器简介
  3. 全国计算机机专业考试试题,2010全国非计算机专业一级考试试题
  4. java filehelper_Java常用工具类---IP工具类、File文件工具类
  5. 游戏服务器维护重启,游戏服务器需要定期重启吗
  6. 论述计算机科学与技术专业的狭义与广义,2013年秋季学期计算机科学与技术专业《高等代数》复习提纲与补充题...
  7. docx文档怎么排列图片_“胶水语言”办公自动化Word篇——使用Python编辑和读取Word文档
  8. h5文字垂直居中_CSS居中的常用方式以及优缺点
  9. 计算机组成原理包健百度云,计算机组成原理包健版答案
  10. ubuntu java 1.8 1.7_java – 在Ubuntu上从JDK 1.7移动到JDK 1.8