循环滚动视图的实现
2015-04-27 本文已影响638人
wright
效果图展示:
![](https://img.haomeiwen.com/i208080/ae8ee5a8bf121347.png)
在每次滚动到最后一个子视图的时候,再往后滚动的同时
setContentOffset
到真正的第一个子视图,或者在滚动到第一个子视图的时候,在往前滚动的同时setContentOffset
到真正的最后一个子视图。如果这样子实现,在用手指左右滑动的时候,是没有的问题的。但是,如果设置定时器,进行自动循环展示的时候,就会出现从最后一个视图跳转到第一个视图时的动画错误。
3,在UIScrollView上只添加三个子视图,分别代表当前展示的视图,当前视图的前一个视图,当前视图的后面一个视图,称之为contentViews
![](https://img.haomeiwen.com/i208080/fd2255d49779a469.png)
在实现的时候,每次UIScrollView滚动的同时
contentViews
中的视图随着变换,就可以实现无限循环的效果。
![](https://img.haomeiwen.com/i208080/0af64cfa9d6750e9.png)
这样实现之后动画就会是连贯的,如本文开始展示的动画效果。
但是现在实现的代码还有缺陷,就是无法处理少于3个子视图的情况。
第三种方法实现的开源代码地址在:WFLoopShowView