Ios UICollectionView分页偏移和间距
我被难住了。我有一个集合视图,显示单元格的边缘,作为滑动可用内容的提示,但只有第一个和最后一个单元格正确显示。中间的每件事都没有排好队。我错过了什么Ios UICollectionView分页偏移和间距,ios,uicollectionview,uicollectionviewcell,uicollectionviewlayout,Ios,Uicollectionview,Uicollectionviewcell,Uicollectionviewlayout,我被难住了。我有一个集合视图,显示单元格的边缘,作为滑动可用内容的提示,但只有第一个和最后一个单元格正确显示。中间的每件事都没有排好队。我错过了什么 UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init]; layout.itemSize = CGSizeMake(280, 400); layout.sectionInset = UIEdgeInsetsMake(0, 20, 0, 20); l
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;
我刚刚遇到了同样的问题。据我所知,问题在于
UIScrollView
的分页距离是由滚动视图的宽度决定的UICollectionView
是一个UIScrollView
我已经找到了使用UIScrollView
实现此窥视功能的解决方案,方法是使UIScrollView
比屏幕窄,打开paginabled
,关闭clipstobunds
。要从屏幕边缘捕获手势,您可以将UIScrollView
嵌入全屏UIView
,该视图捕获手势并将其传递给UIScrollView
。看
由于UICollectionView是一个UIScrollView,我尝试了与UICollectionView
相同的方法。不幸的是,对于UICollectionView
,相邻单元格只有在开始进入UICollectionView
时才会出现(在我的例子中,这比屏幕窄)。是,即使禁用了clipstobunds
。在UICollectionView
中至少可以看到单元格的某些部分之前,它不需要渲染单元格的任何部分
因此,我将我的UICollectionView
设置为全屏宽度。我现在正在寻找一种定制分页的好方法
如果没有一个灵巧的解决方案,我可能会回头用uicrollview
替换UICollectionView
,并手动并排布置我的“单元格”
我也有点担心在这种情况下,我们可能会遇到
UICollectionView
问题,因为我们无法完全控制单元格间距。请注意,您只能设置最小值,而不能设置精确值。我也尝试过这样做,但最终失败了,问题是“页面”被认为是完整的320px,但您希望它实际以itemSize的宽度滚动:p在我认为这可能涉及子类化UICollectionViewFlowLayout
,但放弃了该计划,看起来这可能就是解决方案: