- 强调:这个Demo不是轮子,是造轮子的图纸。
- 最简单的广告轮播页(只用了2个imageView),一共100行左右代码。
- 目的是帮助新手理解广告轮播的原理~ 一遍就能看懂,每行都有注释~
那就别滚到边界就行了:滚着滚着,偷偷修改contentOffset到原来的位置,那就滚不完了。
假设有个屏幕:口(一个口代表屏幕,发挥你的想象力),scrollView的滚动范围是口口口,也就是三个屏幕大小。此时,如果当前屏幕显示的范围是:
口口口
∧
口
也就是指向中间区域,那么左右两边都可以滚了。每次滚到左右边界的时候,重新设置contentOffset,把可显示区域的拉回中间这块,再瞬间把刚才显示的内容换到中间这块上,那么又可以左右翻滚了~
在用户眼里就好像滚不完了。其实用户想不到,其实他压根没滚到那。。。
两个imageView,一个就是中间区域的,用来静止时展示给用户看的另一个就是用户滚哪边,就在哪边出现显示下就好了,作用就是给用户造成假象,好像左右两边一直有东西一样。
http://daiyi.pro/2016/10/14/MostSimpleBanner/
博文中有对该Demo原理有更详细的阐述,也包含了该方案需要进行性能优化的点。