该Demo使用3长图片的轮播为例(此实例可以使用N多个图片轮播,只需要把第一张和第二张图片分别用两张即可),如下图:
只写实现部分代码,不写创建scrollview,和设置的基本代码了:
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
CGPoint pointZero = CGPointMake(0 , 0); //第一个图片的坐标点
CGPoint poinNow = scrollView.contentOffset; //当前scrollview偏移位置(确定到了第几张图片)
if(pointNow == pointZero) self.scrollView.contentOffset = CGRectMake(_scrollView.frame.size.width * 3, 0);
if(pointNow == _scrollView.frame.size.width * 4) self.scrollView.contentOffset = CGRectMake(_scrollView.frame.size, 0);
}
代码很简单,就是当为第一张图片的时候,偏移到倒数第二张图片,然后当为最后一张图片时候,偏移量移到正数第二张图片。 (当....时,即为point刚好为这个值的时候就进行了偏移,所以看不到重复的图片)。视觉上的效果一眼,就是实际上我们用了两张相同的图片还迷惑用户。能达到无限轮播。
时间: 2024-09-28 16:51:16