iOS轮播图--UIScrollView实现

最近找工作看到大部分的公司都有博客或开源项目的要求,我也寻思着自己写点博客,但是实在是不知道该写些什么东西,太深奥的技术自己也写不明白,所以决定从一些平时开发中应用到的一些控件开始写,开发中遇到的问题到时候也总结写写,一方面可以自己总结,只有学会总结才能更好的进步,以后遇到同样的问题才能不犯错,另一方面也可以给有需要的朋友提供些许的帮助。

今天要写的是一个非常简单但是又常用的控件——轮播图。

此轮播图采用的是UIScrollView和PageController以及NSTimer来实现,通过NSTimer来改变UIScrollView的偏移量,然后通过scrollView的偏移量来计算当前的page。在数据源最前面添加一个最后的图片,在最后面添加第一个图片,当scrollView偏移量到最后一张图片时,设置scrollView的偏移量为第二张图片,最终达到循环轮播效果。

具体代码实现如下:

ZYCycleView.h文件内容


h文件定义了ZYCycleView的初始化,轮播图所需的各种属性以及点击轮播图的回调,包括block回调和delegate回调。

以下是实现文件:

初始化ZYCycleView:

初始化属性默认值,创建scrollView以及PageControl:


创建timer循环图片,每隔scrollTimeInterval改变scroolView的偏移量:

懒加载创建scrollView以及pageControl:

图片点击事件,UIScrollViewDelegate:


以上是全部的代码,代码详情:

https://github.com/Xillard/ZYCycleView.git

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容