最近整理了之前的写过的代码,对广告栏Banner位的无限轮播的实现做一个总结。网上有很多实现的方法,一般有用UIScrollView实现的,也有用UICollectionView实现的,但是总体来说,UICollectionView是苹果底层已经实现了复用,不需要自己实现,使用UIScrollView实现的话需要自己实现复用。
个人比较偏向于使用UICollectionView实现,但是网上的一些例子大多有些缺点。总的来说就是无限轮播的问题,一般的做法是在返回items的数量的时候返回一个很大的值,这样在相对小的范围内也相当于“无限轮播”。另一个问题是,反向滑动的时候,当到达UICollectionView的最上面时,就不能再滑动。
这两个问题在日常使用中其实问题也不大,用户也不会去长时间滑动Banner位,也不会一直反向滑动Banner。但是知道问题不处理心里面也一直怪怪的,同时碰到一些刁钻的测试,就会用这些问题来刁难我们,于是,今天下午没事,整理总结了一下,实现了一个相对完整的Demo。
思想就是在数据源的前后各添加一个cell用来显示滑动时的视觉效果,言语无法表达清晰,由于懒得找素材,就直接用了之前软件的几张启动图。iOS菜鸟第一次写博客,还不是很会用简书写,大家见谅。代码地址点击进入,大家觉得不错给个star,谢谢
iOS小白,不完善的地方多多指导,见谅。
网友评论