美文网首页
图片循环轮播器封装及RSImageLoopView简单介绍

图片循环轮播器封装及RSImageLoopView简单介绍

作者: 若素Smile | 来源:发表于2017-04-16 13:23 被阅读0次

前言

花了两天时间终于把轮播器给封装完了,并提交到github,希望能方便大家使用,更希望亲们能去github给一颗宝贵的✨.
RSImageLoopView代码和demo:https://github.com/CoderRuoSu/RSImageLoopView/tree/master
首先感谢博客提供的部分思路,毕竟是在别人思想下进行优化和封装的,主要提高易用性和解决其定时器造成的循环引用

RSImageLoopView使用方法

1.创建图片数组,需要作为参数创建轮播器
2.导入并创建RSImageLoopView类,使用类方法进行创建,并加入到其父控件中
3.调用RSImageLoopView的addTarget方法,传入点击轮播器时需要执行的方法
4.实现点击后执行的方法,其中需要用到的当前图片索引,已经通过visibleImageIndex属性暴露给外界
5.在控制器的dealloc或者viewWillDisappear中,调用stopTimer方法,解决定时器引起的内存泄漏
详情见下面图片或者去github下载demo,如果有账号,别忘了给个赞哦😂

注意:一定要完成第五步,解决循环引用

Snip20170416_5.png

循环轮播原理和RSImageLoopView的介绍

1.为什么可以使用collectionView实现循环轮播

  • collectionView继承至scrollView,所以pagingEnabled属性可以达到轮播器的效果,但是scrollView不好实现循环轮播,也许可以只是因为复杂;
    collectionView同样类似tableview有cell的重用机制,可以通过section更简单实现循环轮播的效果.

2.使用RSImageLoopView有什么好处

  • 首先是基于collectionView的封装,cell的重用可以解决scrollView轮播器的离屏渲染,提高性能.
  • 已经封装好,可以避免一些细节的琢磨
  • 只需要添加一个类就可以实现,,耦合性低
  • 没有定时器的循环引用,造成内存泄漏(这点主要对新手,或者不熟悉定时器的开发者来说)

3.RSImageLoopView介绍

  • RSImageLoopView是继承自UIView,通过collectionView的cell重用,实现图片的循环轮播器
  • 继承自UIView,使用方便,侵入性极低
  • 接口少,使用浅显易懂
  • 框架内部,各步骤层次分明,耦合低,利于自己修改,扩展性不错

最后再次感谢本文开头所提博客提供的思路,并且像有github账号读者求个赞~

相关文章

网友评论

      本文标题:图片循环轮播器封装及RSImageLoopView简单介绍

      本文链接:https://www.haomeiwen.com/subject/vjksattx.html