Skip to content
最简单的2个imageView实现的广告轮播页,一共100行左右代码。 目的是帮助新手理解广告轮播的原理~ 一眼就能看懂,每行都有注释~
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
DYScrollView 修改Readme Apr 18, 2017
.gitignore
DYScrollView.gif
README.md

README.md

DYScrollView

  • 强调:这个Demo不是轮子,是造轮子的图纸。
  • 最简单的广告轮播页(只用了2个imageView),一共100行左右代码。
  • 目的是帮助新手理解广告轮播的原理~ 一遍就能看懂,每行都有注释~

Demo展示

我是demo哦

原理

1. 为什么能够无限滚动?UIScrollView可是有边界的!

那就别滚到边界就行了:滚着滚着,偷偷修改contentOffset到原来的位置,那就滚不完了。

2. 那要怎么做呢?

假设有个屏幕:口(一个口代表屏幕,发挥你的想象力),scrollView的滚动范围是口口口,也就是三个屏幕大小。此时,如果当前屏幕显示的范围是:

口口口

 ∧

 口

  也就是指向中间区域,那么左右两边都可以滚了。每次滚到左右边界的时候,重新设置contentOffset,把可显示区域的拉回中间这块,再瞬间把刚才显示的内容换到中间这块上,那么又可以左右翻滚了~

  在用户眼里就好像滚不完了。其实用户想不到,其实他压根没滚到那。。。

3. 思路:

两个imageView,一个就是中间区域的,用来静止时展示给用户看的另一个就是用户滚哪边,就在哪边出现显示下就好了,作用就是给用户造成假象,好像左右两边一直有东西一样。

博客详细解析文章地址

http://daiyi.pro/2016/10/14/MostSimpleBanner/

博文中有对该Demo原理有更详细的阐述,也包含了该方案需要进行性能优化的点。

You can’t perform that action at this time.