现在轮播图的方法也多了起来,用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];
}
}
话不多说,看代码吧~ 地址