前言:关于图片轮播的第三方资源已经很多了,其中大多的使用都是很简单方便的, 但是从oc到swift上面来, 就写一写基本的常用的”控件”当作熟悉吧, 如果在这个过程中能帮到一些正在学习的人,个人也还是很开心的
最终效果(和其他效果相似)
一. 构思
本次主要实现无限循环滚动, 手动滚动, 显示标题, 响应点击事件, 支持加载网络和本地的图片, 同时这个轮播的一点小小的特点是 : 允许你自己使用第三方的图片加载框架(kingfisher, SDWebImage…)来加载网络图片
注意暂时不支持直接在storyboard中使用, 直接将轮播的view加载到storyboard中的view上面即可使用
1. 轮播图的实现原理, 百度一下就可以找到很多, 这里我就简单说一下
1.1 直接在ScrollView上添加和图片个数一样的imageVIew来显示图片, 在滚动的时候调整ScrollView的contentOffSet即可, 但是图片较多的时候可能占用许多的内存
1.2 在ScrollView上添加两个imageView来显示图片, 其中一个imageView(A)始终显示在屏幕上, 另一个imageView(B)根据滑动的方向添加到对应的左或者右边, 在每次滚动完成的时候,通过调整ScrollView的contentOffSet将 A 始终位于当前屏幕上显示更改后的图片, 滚动过程如下
1.3 在ScrollView上添加三个imageView来显示图片, 原理和上面1.2 有点类似, 每次在滚动完成的时候将中间的那个imageView显示在屏幕上, 滚动过程如下