做为一个资深(自认为)iOS程序猿,会常常用到轮播图,可是老是感受本身实现要比直接用别人的要方便一点,而且有一些需求须要深度定制,因而想着本身封装一个能够定制化的轮播图库JCyclePictureView。git
GitHub地址github
经过更改数据源来给用户一个假象,图片在无限滚动(其实一共只有3个 cell),默认显示第一个,右滑 index + 1, 左滑 index - 1,而后修改数据源,异步回到第一个cell(注意不能有动画)网络
本质为UICollectionView 的cellForItemAt 代理,需本身实现赋值逻辑异步
支持 上下左右 四种滚动方式动画
实际为 UICollectionView 用动画滚动到 第0个 cell 仍是第2个 cell3d
为实现可支持图片的PageControl,写了一个继承UIPageControl 的 JPageControl代理
红框内为核心代码,原理其实很简单,在每个 显示的点上面添加一张图片,而后根据 currentPage 属性修改图片cdn
目前对齐方式支持 left、center、right,经过修改 frame 肯定位置blog
pictures 能够以后设置 pictures支持本地、网络图片同时加载继承
设置标题时 PageControl 自动右对齐
index 从0 开始
小于0.5秒不自动播放(若是不想自动播放能够 设为 0)
设置图片的ContentMode
若是使用过程当中出现问题,可随时 mr_banma@126.com 邮件联系。
ps:若是喜欢,记得 Star 一下,谢谢支持