现在的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
网友评论