UICollectionView - 最后一行未显示

时间:2014-09-15 17:23:25

标签: ios uicollectionview

我以编程方式创建了一个UICollectionView,它将显示在更大的UIView中。我已正确设置委托和数据源,并且呈现没有问题。但是,当我将视图中的单元格数量增加到需要滚动才能看到最后一行时,我发现UICollectionView无法滚动到底部。最后一行在弹跳时可见,但在弹跳结束时被切断。只有大约10个像素的75x75像素单元可见,并且没有办法超越它。

我尝试增加内容大小,但这似乎没有任何影响。还有什么我需要做的才能让最后一行正确显示吗?

更新:或许还有更多细节......

我的视图设置如下所示:我有一个支持分页的UIScrollView,它充当我的顶级UIView。在此,我创建了一系列UICollectionView对象。我的UIScrollView设计为水平滚动,而UICollectionViews垂直滚动。我正在使用RGMPagingScrollView library完成此操作,因此我可以从可重用的集合视图中受益以节省内存。

根据建议,我看一下以编程方式实现自动布局,但我不清楚到底要做什么。我尝试了几种不同的路由,但最终出现了布局约束错误。我还查看了我的集合视图的边界和框架大小,它们看起来是正确的。他们最终成为{{0,0},{320,568}},我期望在我的设备上获得全屏收藏视图。

我还看了一下superview bounds / frame会是什么,但发现我的UICollectionView的superview是nil,我没想到,因为它嵌入在UIScrollView中。在这一点上,我对这里可能发生的事情感到茫然。我已经修改了边界和框架(将高度缩小了200 px),认为这可能有所不同,但行为是相同的。

2 个答案:

答案 0 :(得分:2)

你UICollectionView可能会关闭屏幕。您可以尝试使用autolayout将其大小固定为superview的大小。您也可以使用自动调整遮罩或覆盖viewDidLayoutSubviews。

答案 1 :(得分:0)

如果为水平滚动UICollectionViewFlowLayout设置了minimumLineSpacing,也可能会出现此问题。 删除它对我有用。