现在的APP中,大部分再状态栏下都会有一个广告的视图,蘑菇街APP中也有这种效果,不过相较于酷狗音乐的广告栏,蘑菇街中的看起来像是有循环播放的效果,是怎样取得这种效果呢,其实实现起来很简单,下面我以添加三张广告视图为例。
如果你想是实现广告的循环播放,就应该将广告的首尾相连,例如三张图片分别叫 a, b, c;我们只需在图片a的前面再加一张图片——c,在图片c的后面加一张图片——a,排列起来的效果是 c a b c a。那么问题来了,如何显示呢?在scrollView中有个属性——contentOffSet,这个属性的作用简单来说就是设置滚动位置的point,我们只需将scrollView的contentOffSet初始化你想从第二张图片显示即可,即contentOffSet的x值为一个屏幕宽度。
再然后就要遵循scrollView的代理,实现代理方法scrollViewDidScroll:(UIScrollView *)scrollView,在代理方法里我们要做的是进行判断————当正序显示到图片a即第五张图片时,我们让scrollView的contentOffSet初始化为最初值,若倒序显示图片c时,我们要让scrollView的contentOffSet设置到第四张图片的位置。
完成上述步骤之后,就可以简单实现广告首尾相连的效果了。
可是各位小伙伴有没有发现问题,对,还有个pageControl没有设置,这个说来实现也非常简单。我是先声明了个pageControl的属性,然后添加到view中,设置好fram和pageNumber。这里要注意了,我们设置的pageNumber应该是3而不是5!!!(请将此话读三遍)这是为什么捏?那是因为我们想让他人看到的广告是三种(重复两种)所以要设置为3.
最后设好好动画和计时器,整个效果就大功未告成了!!!为什么呢为什么呢为什么呢?那是因为我们虽然设置 pageNumber为3,但实际还是五张。所以我们还需在scrollView的代理方法里进行判断,当显示的是第一张图片c时,我们要让pageNumber的值为2(pageNumber是从0开始计算的),当显示的是第五张图片a时,我们要让pageNumber的值为0,其他的再归属于一种条件,这样就可以实现循环翻页效果了。

本文介绍了一种在APP中实现循环广告视图的方法,通过在scrollView中设置contentOffset及遵循代理方法,配合pageControl实现广告图片的循环播放效果。
8809

被折叠的 条评论
为什么被折叠?



