说说轮播图的那些事

实现轮播的4种方式

一.n+2个UIImageView

这种方式是最早使用的,实现思想就是加入有三张图1,2,3,一个数组arr,把最后一张放在数组的第一个元素位置,第一张放在数组的最后一个元素位置,同时把三张图片也放在数组中,完成之后的数组arr  = [3,1,2,3,1],然后创建scrollview,放arr.count个UIImageView,根据当前图片的index来改变scrollview的偏移量。

二.3个UIImageView

这种方式目前没用过,也研究了下实现方式,它是设置固定的三个UIImageView,leftImageView,middleImageView,rightImageView,放在scrollview上,一直显示middleImageView,在滑动过程中,改变展示在ImageView的图片

三.使用第三方SDCycleScrollView

现在常用的是这个第三方,因为比较方便,功能也比较齐全。其里面封装了本地图片,URL图片展示的方法,也提供了横向滚动和纵向滚动方式,指示器的位置也有左中右之分。对于图片也使用的了SDWebImage进行缓存和下载。主要使用UICollectionView进行实现的,item的num给了一个很大的值,展示中间的图片,然后向左右滑动,当遇到临界值时再回到中间的item,虽然item的num很大,但利用UICollectionViewCell的复用,再加上图片的缓存,没有消耗太多的性能。

四.一个UIImageView

使用CATransition动画和手势,达到一张图片左右滑动的视觉效果,相对比较好理解些,视觉效果也可以。

参考文章:http://www.jianshu.com/p/8fbdfdf07b5e?utm_campaign=hugo&utm_medium=reader_share&utm_content=note&utm_source=qq

因为网上都能搜到demo,自己写的话也是借鉴,所以就抛弃了demo,简单记录下实现原理,便于以后使用。通过对这几种方式的学习,发现对于轮播图应该还有更好的方式去实现,继续学习中。

你可能感兴趣的:(说说轮播图的那些事)