如何在UICollectionView中循环一组单元格?

时间:2014-10-31 08:20:45

标签: ios uicollectionview

我不知道之前有过这个话题,但我在问这个简单的问题之前做了一些搜索,比如“UICollectionView循环单元格”“UIColloectionView Infinite Loop”。

如果帖子重复,我很抱歉...

我的应用程序中有一个水平集合视图作为滑块,将显示5个图像,如何在用户滚动到结尾(第五个项目)并向右滑动并移动到第一个单元格时设置该功能?另外,如果用户滚动第一个项目并向左滑动,它将显示第五个项目?感谢。

SDK:iOS 7

非常感谢〜

1 个答案:

答案 0 :(得分: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;
    }
}