iOS支持GIF图片

2017-03-01  本文已影响527人  degulade

iOS 播放 gif最棒的库,简单高效。
Animated GIFs implemented the right way on iOS


iOS上播放gif,没有自带的API,所以我找了现成的库,借过来使用。github上我对比了3个star数目较多的代码,最终选择了OLImageView
参与对比的是OLImageView,iOS_AnimatedGifAnimated-GIF-iPhone

选择合适的库

对比的指标,我选择

1. 效率高,占用内存小

只播放同样一个Gif,OLImageView占用内存是后两者的4/5。
(这个测试可能不完备,没有测试同时播放多个gif,或者播放不同类型gif的对比。但对我使用来讲,只播放这个Gif,就可以说明问题了。)

2. 代码维护活跃

OLImageView近来都有更新。
后两个中,Animated-GIF-iPhone是从iOS_AnimatedGif分出来的,两个都已经分别3年多、1年多没有更新了,虽然去年iOS_AnimatedGif的作者在blog上说要做对ARC的支持,但也没看更新。

OLImageView用法

大家可以在github上,看到OLImageView的用法,用法是描述如何从code中创建和使用,非常简单直白。
我在这里介绍一下实际在Storyboard中使用的方式。

1. 文件拖入工程

下载的OLImageView文件共有6个,但只要把下面四个文件拖进你的工程即可:


OLImageViewFilesInProject
2. Storyboard中设置UIImageView为OLImageView

正常拖入一个UIImageView,在这个view的CustomClass中设定为OLImageView:


CustomClass

在Outlet中,设定为OLImageView类型


Outlet
3. code中操作

在合适的地方,把gif设定进去,注意这里的UIImage要换成OLImage:

 [self.guideImageGif1 setImage:[OLImage imageNamed:@"peaceful.gif"]];//注意这里的image要使用OLImage

我的gif是在scrolllView中播放,所以我还需要设定frame:

 [self.guideImageGif1 setFrame:self.myScrollView.frame];

最后

要是有时间,你尽量阅读一下库的代码。知其然也知其所以然。

我在这里也就写写用法,比较浅显。目的是能让有同样需求的同学,减少一点儿时间开销,哪怕只减少了几分钟,也值得了。

上一篇下一篇

猜你喜欢

热点阅读