使用SDCycleScrollView以及SDWebImage不加载gif以及卡顿的解决方式

刚开始的时候是直接使用SDCycleScrollView加载banner的,结果测试说这个是gif图,怎么不动呢,其他的是普通图片,但是后台返回的数据全是.jpg格式的,全没有区分是什么格式的,于是乎bug产生了,因为使用SDCycleScrollView本身是不可以加载动态图的,百度过很多资料,在网上搜到一个分类,虽然效果实现了,但是十分的卡顿,这样肯定是不行的,用户体验极差,那么能怎么办呢,只能舍而去之,寻找新大陆。又在百度上的寻找了许久,最后再git上了发现了FLAnimatedImage。于是对SDCycleScrollView进行了简易的修改,效果达到了。

一、使用SDCycleScrollView不加载gif的解决办法

我们来看下修改了哪些内容
Snip20170410_9.png

其次在SDCollectionViewCell.m中将imageView初始化换成FLAnimatedImageView进行替换系统的UIImageView
Snip20170410_10.png

最后展示成果:
  • 1、在需要的控制器处里面初始化SDCycleScrollView对象
Snip20170410_11.png

效果图(录制可能不是很清晰,但是要能实现我们想要的效果就行):

1.gif
  • 2、加载数据

Snip20170410_12.png

二、使用SDWebImage不加载gif以及卡顿的解决办法

方式一:采用FLAnimatedImageView进行初始化
示例:

Snip20170410_15.png

方式二:自己添加一个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下载地址

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前不久做了一个生成快照的需求,其中用到 SDWebImage 来下载图片,在使用该框架的过程中也遇到了一些问题,索...
    ShannonChenCHN阅读 14,776评论 12 241
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,222评论 4 61
  • 本文由 iMetalk 团队的成员 Lefe 完成,主要帮助读者深入理解一个第三方库。 本文不会教你咋么使用SD,...
    Lefe阅读 4,887评论 0 21
  • 这座孤独的星球 逝去的人骨灰在哪里 现在的人百分之几 是谁努力的勇气 忘了谁啊 列侬迪伦 记得谁啊 音乐上的事吗 ...
    浮风阅读 1,215评论 0 1
  • 以网页 http://quotes.toscrape.com/ 为例命令:scrapy shell 'http:/...
    法号无涯阅读 1,800评论 0 0