大体思路:首先,创建collectionView,和collectionViewCell,布局的itemSize的大小,和collectionView的frame一致,这样cell就可以覆盖整个collectionView。
其次,利用scrollViewWillEndDragging代理方法,实现分页效果,这样可以保证每次滑动时,一张图片显示在窗口,而不是两张图片。这个方法,可以计算出,当前滑动到第几张图片,这样,我们就可以监听这个页码值,返回给分页控件pageControl,那么滑动图片时,pageControl的currentPage的值就可以根据该值进行改变
当pageControl的值改变时,同样的我们要改变图片的显示,这里我利用定时器,定义一个全局的变量记录pageNum,在定时器方法中,改变pageNum,然后将值赋给currentPage,这时pageControl的值改变了,将值封装成NSIndexPath类,我们再利用代理方法scrollToItemAtIndexPath:(即:滑动到指定的位置)滑动到指定的第几张图片。
看代码吧,可能说的不清楚,原谅我组织语言无能/(ㄒoㄒ)/~~
#pragma mark - 代理方法,实现滑动分页效果
- (void) scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset {
//1.获取偏移量
CGFloat contentOffX = targetContentOffset->x;
//2.获取item的值,这里的item大小,和页面宽度一致,所以直接给出
CGFloat pageWidth = 325;
//3.计算页码
NSInteger pageNumber = (contentOffX+pageWidth/2)/pageWidth;
//4.重新赋值
targetContentOffset->x = pageWidth*pageNumber;
self.pageNum = pageNumber;
}
这是在主页面上写的代码
- (void)viewDi