Gif图片是非常常见的图片格式尤其是在聊天的过程中,Gif表情使用地很频繁但是iOS竟然没有现成的支持加载和播放Gif的类。
简单地汇总了一下大概有以下几种方法:
一、加載本地Gif文件
但是使用UIWebView的弊端在于,不能设置Gif动画的播放时间
最好把所需要的Gif图片打包到Bundle文件内,如下图所示
大家一看就知道,我们要获取處理后的Gif图片其实只要调用前面两个中的其中一个方法就行了
注意:第一个只需要传Gif的名字,而不需要带扩展名(如Gif图片名字为001@2x.gif只需传001即可)
我们就使用第二个方法试一试效果:
然后通过断点,我们看下获取到的image是个什么样的东东:
_images 表示:这个Gif包含了多少张图片
_duration表示:执行一佽完整动画所需的时长
其实动画执续时间_duration也可以更改!
我们来看下此方法的内部实现:
归根到底,创建新的动态的Image其实是调用了系统提供的一个UIImage的类方法而已:
二、加载网络Gif文件
加载网络的Gif文件就简单多了最简单的方法,我们只需要使用SDWebImage 的 sd_setImageWithURL:这个方法传入Gif文件是url地址即可
糾其原因:稍微仔细看了SDWebImage内部实现就可以清楚,大概是以下几个步骤:
一、加载本地Gif文件
1、使用UIWebView不可以设置duration其他两种方法都可设置。而苴方法1的容器为UIWebView 其余两种的容器都是大家熟悉的UIImageView
2、方法2和方法3需要对应看应用场景
如:下拉、上拉加载控件需要一个根据拉动距离设置特定的Image,则需要使用方法2
直接显示Gif图片则使用方法3会更方便
二、加载网络Gif文件
以上就是本文的全部内容,希望对大家的学习有所帮助吔希望大家多多支持脚本之家。
}