效果演示
项目地址
https://github.com/liujunwei2018/CycleView
无限轮播实现思路
- 在collectionView代理设置 numberOfItemsInSection 返回 self.images * 10000 ,
- 在collectionView代理设置 cellForItemAtIndexPath 中获取图片时取余数 self.images[indexPath.item % self.images.count]
- 定时器开启,销毁, 拖动手势造成滚动时关闭定时器,拖动结束开启定时器
- 定时器实现方法中获取collectionView偏移量,再加上一个屏幕的距离, 通过 [collectionView setContentOffset:] 实现滚动播放
使用方式
LJW_CycleView *cycleView = [[LJW_CycleView alloc] initWithFrame:CGRectMake(0, 90, self.view.bounds.size.width, 200)];
cycleView.delegate = self;
// 设置默认图片,当images赋值后不显示
cycleView.placeholderImage = [UIImage imageNamed:@"1"];
cycleView.images = &