- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{//开始滚动,判断位置,然后替换复用的三张图[self changeImageWithOffset:scrollView.contentOffset.x];
}- (void)changeImageWithOffset:(CGFloat)offsetX
{if (offsetX >= ScrollWidth * 2){_currentIndex++;if (_currentIndex == _MaxImageCount-1){[self changeImageLeft:_currentIndex-1 center:_currentIndex right:0];}else if (_currentIndex == _MaxImageCount){_currentIndex = 0;[self changeImageLeft:_MaxImageCount-1 center:0 right:1];}else{[self changeImageLeft:_currentIndex-1 center:_currentIndex right:_currentIndex+1];}_PageControl.currentPage = _currentIndex;}if (offsetX <= 0){_currentIndex--;if (_currentIndex == 0) {[self changeImageLeft:_MaxImageCount-1 center:0 right:1];}else if (_currentIndex == -1) {_currentIndex = _MaxImageCount-1;[self changeImageLeft:_currentIndex-1 center:_currentIndex right:0];}else {[self changeImageLeft:_currentIndex-1 center:_currentIndex right:_currentIndex+1];}_PageControl.currentPage = _currentIndex;}
}

#pragma mark - 给复用的imageView赋值- (void)changeImageLeft:(NSInteger)LeftIndex center:(NSInteger)centerIndex right:(NSInteger)rightIndex
{if (_isNetworkImage){[_leftImageView sd_setImageWithURL:[NSURL URLWithString:_imageArray[LeftIndex]] placeholderImage:_placeholderImage];[_centerImageView sd_setImageWithURL:[NSURL URLWithString:_imageArray[centerIndex]] placeholderImage:_placeholderImage];[_rightImageView sd_setImageWithURL:[NSURL URLWithString:_imageArray[rightIndex]] placeholderImage:_placeholderImage];}else{_leftImageView.image = _imageArray[LeftIndex];_centerImageView.image = _imageArray[centerIndex];_rightImageView.image = _imageArray[rightIndex];}[_scrollView setContentOffset:CGPointMake(ScrollWidth, 0)];
}

转载于:https://www.cnblogs.com/mkai/p/6404635.html

三个ImageView 实现无线轮播 方法相关推荐

  1. Android之自定义ViewPager实现图片的无线轮播

    PS:以前也写过关于图片轮播这一块的博客.不过写的很烂,并且很多情况没有考虑到(没有支持无线轮播,和手势点击事件).因此这里写一篇补上.也是当时太年轻了. 注:图片请放大后再看.否则看不清楚. 学习内 ...

  2. Bannner图片无线轮播

    Banner之无线轮播 首先导入依赖:compile 'com.youth.banner:banner:1.4.9' universal-image-loader-1.9.3-with-sources ...

  3. 无线轮播android,Android无限轮播Banner的实现

    概述 应用首页的广告轮播Banner,一般都会使用ViewPager来实现,但是ViewPager 没有轮播效果. 现成有这么几种实现方案: 1.使用Integer.MAX_VALUE ,理论上很难达 ...

  4. 无线轮播叫小点点和引导页

    无限轮播首先创建Viewpager 1.创建无相轮播的布局 <?xml version="1.0" encoding="utf-8"?> <L ...

  5. Android 使用Adapter适配器模式实现无线轮播BannerView

    ###代码实现 自定义ViewPager public class BannerViewPager extends ViewPager {private BannerAdapter mAdapter; ...

  6. Banner无线轮播

     一:先导入Banner依赖 compile 'com.youth.banner:banner:1.4.8' compile 'com.github.bumptech.glide:glide:3. ...

  7. 三种解决访达持续无响应的方法

    大家在使用Mac系统的时候是否遇到过Finder持续无响应,导致一系列操作无法实施的问题.这种情况通常出现在将Mac更新到了最新的macOS或者电脑使用太久,系统文件损毁之后,导致Finder突然出现 ...

  8. kaggle信用卡欺诈看异常检测算法——无监督的方法包括: 基于统计的技术,如BACON *离群检测 多变量异常值检测 基于聚类的技术;监督方法: 神经网络 SVM 逻辑回归...

    使用google翻译自:https://software.seek.intel.com/dealing-with-outliers 数据分析中的一项具有挑战性但非常重要的任务是处理异常值.我们通常将异 ...

  9. NAACL 2021 | AWS AI 提出基于对比学习的端到端无监督聚类方法

    ©PaperWeekly 原创 · 作者 | 李婧蕾 学校 | 北京邮电大学硕士生 研究方向 | 自然语言处理 Abstract 无监督聚类的目的是根据在表示空间中的距离发现数据的语义类别.然而,在学 ...

最新文章

  1. CIE-LUV是什么颜色特征
  2. Adams中的阻尼比样条设置
  3. java中gc是啥_java的gc是什么
  4. tensorflow 模型的保存和加载
  5. python安装后怎样配解释器_python解释器安装教程以及环境变量的配置
  6. 【Java】求解N皇后问题
  7. 程序员:像机器一样思考
  8. python定时器 是线程吗_定时器中断线程python
  9. python 两个列表相互映射_零基础同学,一看就会的Python字典操作指南
  10. WAS7.0安装补丁升级程序无法替换文件 java/docs/autorun.inf解决办法
  11. 【QGIS】【OsGeo4w】安装方法
  12. 【RGB检测】基于matlab GUI图像RGB检测【含Matlab源码 088期】
  13. Oracle数据库编译存储过程挂死问题解决办法
  14. 淘宝首页中meta标签的作用整理
  15. LDC1314 学习资料
  16. 苹果录屏没声音_苹果手机外放没声音,自己动手就能解决
  17. linux dsp开发环境,在ubuntu上搭建uclinux开发环境(转载)--- 第二篇
  18. linux文件误删恢复解决方案
  19. 【Ping检测】使用Ping命令检查网络连接情况
  20. 英特尔GPU大牛投身AI创业/ ChatGPT公布Bug原因/ SpaceX最新估值1400亿美元…今日更多新鲜事在此...

热门文章

  1. Python爬虫之xpath的详细使用(爬虫)
  2. 解决挖矿病毒(定时任务、计划任务、系统定时器、定时启动、crontab、入侵)
  3. openssl 对文本加密解密
  4. 《论文笔记》Robust Cooperative UAV Visual SLAM
  5. 数据库应用系统——引言
  6. 最小生成树——克鲁斯卡尔算法
  7. Centos 下PHP编译安装fileinfo扩展
  8. 密码与安全新技术总结
  9. java中运算符的优先级
  10. 【Win 10 应用开发】分析 URI 中的查询字符串