• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

collectionView 无限轮播图

武飞扬头像
周欣欣13
帮助2

学新通

拿一组4张的轮播图作为例子
思路主要是
1. 拿到一组图片后, 把绿色图1和绿色图4多复制出来一份, 把红色图1(复制的图1)放在最后, 红色图4(复制的绿色图4)放在首位, 现在一共是6张图.
2. 左滑从绿色图1到红色图1时,就迅速把collectionView的contentoffset 设置到图1的位置.

3.右滑时,到红色图4就把collectionView的frame设置到绿色图4的位置

学新通

// 这里是位移的代码

```

  1.  
    - (void)adjustPicturePosition {
  2.  
    // 拿到图片的X
  3.  
    CGFloat offsetX = self.collectionView.contentOffset.x;
  4.  
    // 计算是第几张图
  5.  
    CGFloat offsetItemNum = offsetX / self.collectionView.bounds.size.width;
  6.  
    // 红色图1的位置
  7.  
    if (offsetItemNum == photocount - 1) {
  8.  
    // 设置的绿色图1的位置
  9.  
    [self.collectionView setContentOffset:CGPointMake(collectionView.bounds.size.width, 0) animated:NO];
  10.  
    } else if (offsetItemNum == 0) {
  11.  
    // 红色图4
  12.  
    // 设置为绿色图4的位置
  13.  
    [self.collectionView setContentOffset:CGPointMake((photocount - 2) * collectionView.bounds.size.width, 0) animated:NO];
  14.  
    }
  15.  
    // 四舍五入(主要是为了滑动到一半的图片设置pagecontrol)
  16.  
    // 拿到当前的图片count
  17.  
    NSInteger pageNum = (NSInteger)round(offsetItemNum);
  18.  
    // 设置页数
  19.  
    if self.pageControl.currentPage = item;
  20.  
    }
学新通

``` 

效果图

学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgbjeag
系列文章
更多 icon
同类精品
更多 icon
继续加载