3个imageView实现多张图片轮播

查看网上实现的图片轮播大都需要多个imageView,分享一个比较简洁的实现,希望大家批评指教,也希望能帮助到跟我一样的小白

github地址:https://github.com/Swellyhowl/lmiOS

简介:

代码有一个scrowView和3个imageView,图片来自于本地,可能在实际的应用中还有很多弊端,比如图片的命名方式,图片可能来自于网路等,这些会在以后的项目跟大家一起学习



思路:

为scrowView添加3个imageView,分别为leftImageView,middleImageView和rightImageView。

1.  让middleImageView显示在屏幕上,默认显示第一张图片,(假设图片名字分别为1.png,2.png...5.png),即: middleImageview-->1.png,则rightImageView-->2.png ,那leftImageView-->leftImageview

2.   每滑动一次,都要将scrowview的contentOffset设置为两个Imageview的宽度,实现一个滚动的效果,此时要注意,还要在滚动结束后,重新将contentOffset重新调整为一个ImageView的宽度,用来实现下一次的滚动效果,同时还要把图片进行重新调整

- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView{

NSLog(@"DidEndScrollingAnimation");

[self reloadImgs];

[self.scrw setContentOffset:CGPointMake(offsetX, 0) animated:NO];

}

//重新加载图片,重新设置三个imgView

- (void) reloadImgs{

int currentIndex = (int)self.pageC.currentPage;

NSLog(@"currentIndex%d",currentIndex);

int preIndex = (currentIndex + 4) % 5;

int nextIndex = (currentIndex + 1) % 5;

[self.imgViewLeft setImage:[UIImage imageNamed:[NSString stringWithFormat:@"%d",preIndex]]];

[self.imgViewMiddle setImage:[UIImage imageNamed:[NSString stringWithFormat:@"%d",currentIndex]]];

[self.imgViewRight setImage:[UIImage imageNamed:[NSString stringWithFormat:@"%d",nextIndex]]];

}

3. 这样就可以实现图片轮播,具体实现看github代码

其实还可以将scrowview和imageView进行自定义,这样可以设置多样的风格,也可以根据自己的需要设置不同的需求,比如添加一个向左向右的箭头之类的,后面就继续学习,进行改进,希望大神能多给小白一点建议

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容