剛開(kāi)始的時(shí)候是直接使用SDCycleScrollView加載banner的,結(jié)果測(cè)試說(shuō)這個(gè)是gif圖,怎么不動(dòng)呢,其他的是普通圖片,但是后臺(tái)返回的數(shù)據(jù)全是.jpg格式的,全沒(méi)有區(qū)分是什么格式的,于是乎bug產(chǎn)生了,因?yàn)槭褂肧DCycleScrollView本身是不可以加載動(dòng)態(tài)圖的,百度過(guò)很多資料,在網(wǎng)上搜到一個(gè)分類,雖然效果實(shí)現(xiàn)了,但是十分的卡頓,這樣肯定是不行的,用戶體驗(yàn)極差,那么能怎么辦呢,只能舍而去之,尋找新大陸。又在百度上的尋找了許久,最后再git上了發(fā)現(xiàn)了FLAnimatedImage。于是對(duì)SDCycleScrollView進(jìn)行了簡(jiǎn)易的修改,效果達(dá)到了。
一、使用SDCycleScrollView不加載gif的解決辦法
我們來(lái)看下修改了哪些內(nèi)容
其次在SDCollectionViewCell.m
中將imageView
初始化換成FLAnimatedImageView
進(jìn)行替換系統(tǒng)的UIImageView
最后展示成果:
- 1、在需要的控制器處里面初始化
SDCycleScrollView
對(duì)象
效果圖(錄制可能不是很清晰,但是要能實(shí)現(xiàn)我們想要的效果就行):
- 2、加載數(shù)據(jù)
Snip20170410_12.png
二、使用SDWebImage不加載gif以及卡頓的解決辦法
方式一:采用FLAnimatedImageView進(jìn)行初始化
示例:
方式二:自己添加一個(gè)FLAnimatedImageView+WebCache
分類,需改動(dòng)下面方法,其他的方法不需要改動(dòng)
- (void)sd_setImageWithURL:(nullable NSURL *)url
placeholderImage:(nullable UIImage *)placeholder
options:(SDWebImageOptions)options
progress:(nullable SDWebImageDownloaderProgressBlock)progressBlock
completed:(nullable SDExternalCompletionBlock)completedBlock
使用方法一樣只需導(dǎo)入FLAnimatedImageView+WebCache.h
,而不是導(dǎo)入#import "UIImageView+WebCache.h"
即可
推薦鏈接
FLAnimatedImage下載地址
iOS GIF動(dòng)畫(huà)加載框架-FLAnimatedImage解讀
SDCycleScrollView下載地址