通过自定义Banner对SDCycleScrollView+SDWebImage相关理解

现在的PM不论什么类型的app都喜欢加个Banner无限轮播视图用于推荐最新活动。

而且基本上的数据类型为@{
@"id":@(329),
@:"BannerName":@"xxxx活动",
@"ImageAddress":@"https://www.baidu.com/img/bd_logo1.png",
@"JumpUrl":@"https://www.baidu.com/"
}
一张图,一个标题,一个跳转webview的链接。

实现方式上有两个思路
一、UIScrollView+UIImageView*3
使用三个子视图展示当前的图和最近前后一张图,根据UIScrollView的Contentset设置每个子view加载哪张图片。

二、UICollectionView+自定义UICollectionViewCell
创建屏幕等宽的cell,通过系统方法实现轮播,在代理中实现跳转。

SDCycleScrollView就是采用的第二种方法,并通过生成cell*100实现无限轮播;

通过SDImageCache类实现图片缓存:
缓存顺序:先显示placeholder->内存->硬盘->下载

查找部分使用的url作key遍历查询
下载部分使用的NSURLSession
通过通知在内存警告时清除缓存
通过扩展中的方法回到主线程操作UI

向大佬致敬
https://github.com/rs/SDWebImage

你可能感兴趣的:(通过自定义Banner对SDCycleScrollView+SDWebImage相关理解)