UICollectionView分页偏移和间距

时间:2014-03-10 20:04:49

标签: ios uicollectionview uicollectionviewcell uicollectionviewlayout

我很难过。我有这个集合视图显示单元格的边缘作为滑动可用的提示,但只有第一个和最后一个单元格正确显示。介于两者之间的一切都没有正确排队。我错过了什么?

UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
layout.itemSize = CGSizeMake(280, 400);
layout.sectionInset = UIEdgeInsetsMake(0, 20, 0, 20);
layout.minimumInteritemSpacing = 10;
layout.scrollDirection = UICollectionViewScrollDirectionHorizontal;
layout.minimumLineSpacing = 10.0;

self.collectionView.collectionViewLayout = layout;
self.collectionView.showsHorizontalScrollIndicator = NO;
self.collectionView.pagingEnabled = YES;
self.collectionView.clipsToBounds = NO;

enter image description here

1 个答案:

答案 0 :(得分:1)

我刚遇到同样的问题。据我所知,问题是UIScrollView的调页距离是由滚动视图的宽度决定的。 UICollectionViewUIScrollView

我找到了使用UIScrollView完成此窥视功能的解决方案,使UIScrollView比屏幕更窄,打开pagingEnabled,然后关闭clipsToBounds。要从屏幕边缘捕获手势,您可以将UIScrollView嵌入到全屏宽度UIView中,以捕获手势并将其传递给UIScrollView。请参阅here

由于UICollectionView是一个UIScrollView,我尝试使用UICollectionView的相同方法。不幸的是,UICollectionView只有当相邻的单元格开始进入UICollectionView时才出现(在我的情况下,它比屏幕窄)。是的,即使clipsToBounds关闭也是如此。它只是在UICollectionView内至少可以看到单元格的某些部分时才会渲染单元格的任何部分。

所以我已经制作了UICollectionView全屏宽度。我现在正在寻找一种定制分页的好方法。

如果没有出现光滑的解决方案,我可能会退回到用UICollectionView替换UIScrollView并手动并排布置我的“单元格”。 / p>

我也有点担心在这种情况下我们可能会遇到UICollectionView的问题,因为我们无法完全控制单元格间距。请注意,您只能设置最小值而不是精确值。