滑动视图和UICollectionView一起使用时,容易出现item显示的位置在模拟器上偏移的情况。在出现这个问题时,使用的解决方法是,关闭分页效果,利用UISrollView的代理方法,根据偏移量判断应该显示第几个item,从而计算出要显示的页码。
核心代码如下:
- (void) scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset {
CGFloat offSetX = targetContentOffset->x;
CGFloat itemWidth = 80;
NSInteger pageWidth = itemWidth + 10;
NSInteger pageNum = (offSetX+pageWidth/2)/pageWidth;
targetContentOffset->x = pageNum*pageWidth;
self.currentIndex = pageNum;
}