实现很简单:核心思想:建立三组相同cell,初始化的时候滑动到第1组的0,当滑动过程中超出第一组的范围,立刻无动画效果滑动到第一组对应的item上
核心代码:利用scrollview的代理方法
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
//根据偏移量 计算出index 处于中间范围不操作 其他情况滑动到第一组
int index = scrollView.contentOffset.x / [UIScreen mainScreen].bounds.size.width;
if(index >= 1*self.imagesArray.count && index < 2*self.imagesArray.count)
{
return;
}
int item = index % self.imagesArray.count;
NSIndexPath *indexpath = [NSIndexPath indexPathForItem:item inSection:1];
[self.collectionView scrollToItemAtIndexPath:indexpath atScrollPosition:0 animated:NO];
}