我不知道之前有过这个话题,但我在问这个简单的问题之前做了一些搜索,比如“UICollectionView循环单元格”“UIColloectionView Infinite Loop”。
如果帖子重复,我很抱歉...
我的应用程序中有一个水平集合视图作为滑块,将显示5个图像,如何在用户滚动到结尾(第五个项目)并向右滑动并移动到第一个单元格时设置该功能?另外,如果用户滚动第一个项目并向左滑动,它将显示第五个项目?感谢。
SDK:iOS 7
非常感谢〜
答案 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;
}
}