2014-10-31 54 views
1

我不知道是否曾经有人问过这个话题,但在询问这个简单问题之前,我做了一些搜索,比如“UICollectionView循环单元”,“UIColloectionView无限循环”。如何在UICollectionView中循环一组单元格?

如果该信息被复制,我很抱歉为...

我有一个水平收集查看我的应用程序的滑块,5图像将显示,我怎么可以设置功能,当用户滚动到最后(第五项)并向右滑动并移至第一个单元格?另外,如果用户滚动第一个项目并向左滑动,它会显示第五个项目?谢谢。

SDK:iOS的7

感谢很多〜

+0

看看[这个问题](http://stackoverflow.com/a/26350498/3985749) - 它会处理向前滚动,虽然也许不是向后滚动(尽管它不应该是困难的) – pbasdf 2014-10-31 09:06:18

回答

0

我已经写了一个愚蠢的程序来控制这个

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView 
{ 
    CGFloat pageWidth = _sliderCV.frame.size.width; 
    self.pageControl.currentPage = _sliderCV.contentOffset.x/pageWidth; 
    NSLog(@"%f", _sliderCV.contentOffset.x); 

    CGFloat firstSlide = 0.f; 
    CGFloat lastSlide = pageWidth * 4; 

    NSLog(@"contentOffset = %f, firstSlide = %f, SelFirstCount = %li",_sliderCV.contentOffset.x, firstSlide, (long)selFirstCount); 
    if (_sliderCV.contentOffset.x == firstSlide) { 
     if (selFirstCount == 0) { 
      selFirstCount += 1 ; 
      NSLog(@"%li", (long)selFirstCount); 
     } else { 
      NSLog(@"Move to Last"); 
      [_sliderCV setContentOffset:CGPointMake(lastSlide, 0) animated:YES]; 
      selFirstCount = 0; 
      self.pageControl.currentPage = 4; 
      selLastCount = 1; 
     } 
    } else if (_sliderCV.contentOffset.x == lastSlide) { 
     if (selLastCount == 0) { 
      selLastCount += 1; 
     } else { 
      [_sliderCV setContentOffset:CGPointMake(firstSlide,0) animated:YES]; 
      selLastCount = 0; 
      self.pageControl.currentPage = 0; 
      selFirstCount = 1; 
     } 
    } else { 
     NSLog(@"Clear"); 
     selFirstCount = 0; 
     selLastCount = 0; 
    } 
} 
相关问题