ScrollView中图片的无限轮播(精简)

该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

ScrollView中图片的无限轮播(精简)的相关文章

iOS:实现图片的无限轮播(二)---之使用第三方库SDCycleScrollView

下载链接:github不断更新地址:https://github.com/gsdios/SDCycleScrollView 使用原理:采用UICollectionView的重用机制和循环滚动的方式实现图片的无限轮播,播放非常顺畅,解决了UISCrollView使用时从最后一张跳到第一张时的生硬状态. 主要类截图: SDCollectionViewCell:用来重用的item,即显示图片的视图: SDCycleScrollView: 对外提供的一个创建轮播器的接口类,使用者就是直接使用这个类来实现

iOS:实现图片的无限轮播之使用第三方库SDCycleScrollView

下载链接:github不断更新地址:https://github.com/gsdios/SDCycleScrollView #import "ViewController.h" #import "SDCycleScrollView.h" @interface ViewController () <</span>SDCycleScrollViewDelegate> @end @implementation ViewController - (v

iOS开发之ImageView复用实现图片无限轮播

在上篇博客中iOS开发之多图片无缝滚动组件封装与使用给出了图片无限轮播的实现方案之一,下面在给出另一种解决方案.今天博客中要说的就是在ScrollView上贴两个ImageView, 把ImageView进行交替切换来实现图片的无限轮播,在轮播时去修改ImageView上的图片.上一篇博客中是有几张图片就实例化几个ImageView, 然后事先把Image贴到相应的ImageView上,这种做法比较简单,而且易于实现. 今天这篇博客就要实现使用两张ImageView, 交替的区展示Image,

图片无限轮播由于ViewPager的预加载机制所导致的问题

分类和回归是分析预测中最古老的话题.支持向量机.逻辑回归.朴素贝叶斯算法.神经网络和深度学习都属于分类和回归技术. 本章将重点关注决策树算法和它的扩展随机决策森林算法,这两个算法灵活且应用广泛,即可用于分类问题,也可用于回归问题.更令人兴奋的是,它们可以帮助我们预测未来,至少是预测我们尚不肯定的事情.比如,根据线上行为来预测购买汽车的概率,根据用词预测邮件是否是垃圾邮件,根据地理位置和土壤的化学成分预测哪块耕地的产量可能更高. 总体实现无限轮播的思想,其实和网上大部分的思路都是相同的,设置一个I

js无限轮播算法中干掉if判断

无限轮播在网页应用中经常见到,这其中算法各有千秋,在学习算法分析一书中发现自增取余方法可以干掉一些不必要的if判断,具体代码如下: 1 var arr= [1,2,3,4,5,6,7,8]; 2 var index=0; 3 var length=arr.length; 4 setInterval(function(){ 5 // 自增 6 console.log(arr[index++%length]); 7 // 自减 8 // console.log(arr[index=(index+le

iOS开发UI篇—无限轮播(循环利用)

一.无限轮播  1.简单说明 在开发中常需要对广告或者是一些图片进行自动的轮播,也就是所谓的无限滚动. 在开发的时候,我们通常的做法是使用一个UIScrollView,在UIScrollView上面添加多个imageView,然后设置imageView的图片,和scrollView的滚动范围. 以前的做法: 一般而言,轮播的广告或者是图片数量都不会太多(3~5张).所以,并不会太多的去考虑性能问题.但是如果图片过多(比如有16张图片,就需要创建16个imageView),那么就不得不考虑性能问题

新版无限轮播视图,2个imageView完成(不依赖任何三方库)

笔者最新改写的无限轮播视图,完全不依赖任何三方库,2个imageView实现无限轮播. 特点: 1.支持图片缓存到本地,亦支持一键清除缓存. 2.超级轻量,没有任何第三方框架参合,占用内存极小 3.高度自定义,支持修改pageControll的显示图片及显示位置 4.图片展示模式多样性,支持轮播展示与渐入渐出模式展示 5.支持自动滚动 6.创建方式多样,支持代码及storyboard创建 7.支持显示图片简介,具体见GitHub效果图 代码实现: .h // // WYScrollView.h

无限轮播(循环利用)

无限轮播(循环利用) 一.无限轮播  1.简单说明 在开发中常需要对广告或者是一些图片进行自动的轮播,也就是所谓的无限滚动. 在开发的时候,我们通常的做法是使用一个UIScrollView,在UIScrollView上面添加多个imageView,然后设置imageView的图片,和scrollView的滚动范围. 以前的做法: 一般而言,轮播的广告或者是图片数量都不会太多(3~5张).所以,并不会太多的去考虑性能问题.但是如果图片过多(比如有16张图片,就需要创建16个imageView),那

iOS开发UI篇—无限轮播(功能完善)

iOS开发UI篇—无限轮播(功能完善) 一.自动滚动 添加并设置一个定时器,每个2.0秒,就跳转到下一条. 获取当前正在展示的位置. 1 [self addNSTimer]; 2 } 3 4 -(void)addNSTimer 5 { 6 // NSTimer timerWithTimeInterval:<#(NSTimeInterval)#> target:<#(id)#> selector:<#(SEL)#> userInfo:<#(id)#> repe