collectionView实现iOS轮播图

现在轮播图的方法也多了起来,用collectionView实现简单快捷,还自带cell复用。这里主要介绍下需要注意到亮点。 假设有4张轮播图,为了实现视觉上的效果,需要将第一张添加到最后一张后面,将最后一张添加到第一张前面,所以数据源数组一共是6张。

        self.dataArr = [NSMutableArray arrayWithArray:dataArr];

        [self.dataArr insertObject:[dataArr lastObject] atIndex:0];

        [self.dataArr addObject:dataArr[0]];

当collectionView滚动到最后一张和第一张到时候,只需要在拖拽完成时候稍做处理。

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{

    if (scrollView.contentOffset.x > kSelfWidth * (_dataArr.count - 2)) {

        [_collectionView scrollToItemAtIndexPath:[NSIndexPath indexPathForItem:1 inSection:0] atScrollPosition:UICollectionViewScrollPositionNone animated:NO];

    }

    if (scrollView.contentOffset.x < kSelfWidth) {

        [_collectionView scrollToItemAtIndexPath:[NSIndexPath indexPathForItem:_dataArr.count - 2 inSection:0] atScrollPosition:UICollectionViewScrollPositionNone animated:NO];

    }

    }

话不多说,看代码吧~ 地址

你可能感兴趣的:(collectionView实现iOS轮播图)