使用SDCycleScrollView以及SDWebImage不
2017-04-10 本文已影响2559人
flowerflower
刚开始的时候是直接使用SDCycleScrollView加载banner的,结果测试说这个是gif图,怎么不动呢,其他的是普通图片,但是后台返回的数据全是.jpg格式的,全没有区分是什么格式的,于是乎bug产生了,因为使用SDCycleScrollView本身是不可以加载动态图的,百度过很多资料,在网上搜到一个分类,虽然效果实现了,但是十分的卡顿,这样肯定是不行的,用户体验极差,那么能怎么办呢,只能舍而去之,寻找新大陆。又在百度上的寻找了许久,最后再git上了发现了FLAnimatedImage。于是对SDCycleScrollView进行了简易的修改,效果达到了。
一、使用SDCycleScrollView不加载gif的解决办法
我们来看下修改了哪些内容
Snip20170410_9.png其次在SDCollectionViewCell.m
中将imageView
初始化换成FLAnimatedImageView
进行替换系统的UIImageView
Snip20170410_10.png
最后展示成果:
- 1、在需要的控制器处里面初始化
SDCycleScrollView
对象
效果图(录制可能不是很清晰,但是要能实现我们想要的效果就行):
1.gif- 2、加载数据
Snip20170410_12.png
二、使用SDWebImage不加载gif以及卡顿的解决办法
方式一:采用FLAnimatedImageView进行初始化
示例:
方式二:自己添加一个FLAnimatedImageView+WebCache
分类,需改动下面方法,其他的方法不需要改动
- (void)sd_setImageWithURL:(nullable NSURL *)url
placeholderImage:(nullable UIImage *)placeholder
options:(SDWebImageOptions)options
progress:(nullable SDWebImageDownloaderProgressBlock)progressBlock
completed:(nullable SDExternalCompletionBlock)completedBlock
Snip20170410_18.png
使用方法一样只需导入FLAnimatedImageView+WebCache.h
,而不是导入#import "UIImageView+WebCache.h"
即可
推荐链接
FLAnimatedImage下载地址
iOS GIF动画加载框架-FLAnimatedImage解读
SDCycleScrollView下载地址