Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 

DYScrollView

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

Demo展示

我是demo哦

原理

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

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

2. 那要怎么做呢?

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

口口口

 ∧

 口

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

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

3. 思路:

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

博客详细解析文章地址

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

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

About

最简单的2个imageView实现的广告轮播页,一共100行左右代码。 目的是帮助新手理解广告轮播的原理~ 一眼就能看懂,每行都有注释~

Resources

Releases

No releases published

Packages

No packages published