Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/102.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UICollectionView分页偏移和间距_Ios_Uicollectionview_Uicollectionviewcell_Uicollectionviewlayout - Fatal编程技术网

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
,但放弃了该计划,看起来这可能就是解决方案: