UICollectionView无法滚动以查看整个最后一行

时间:2014-01-11 19:53:33

标签: ios iphone objective-c uicollectionview

我有一个大小为768x1024的UICollectionView,顶部有一个导航栏。我的自定义UICollectionViewCells大小为200x200。问题是,当我不断添加单元格并且到达底行时,我只能看到200x200单元格的一部分。它不会让我在它反弹之前进一步滚动。关于问题可能是什么想法?

编辑:

我通过以下方式添加单元格:

insertItemsAtIndexPaths:

5 个答案:

答案 0 :(得分:4)

问题只是将AutoLayout约束添加到容纳UICollectionView的View Controller中。为此,请在Storyboards中选择View Controller,然后单击顶部的“Editor”。然后,“解决Autolayout问题”> “重置为建议的限制......”

答案 1 :(得分:1)

检查是否在集合视图的大小检查器中更改了集合视图的最小间距属性。将其重新设置为默认值(10)是我的解决方案。

答案 2 :(得分:0)

问题与您的UICollectionViewLayout有关,因为布局的工作是说明实际可滚动内容的大小,并在必要时请求刷新该信息。但不幸的是,你的问题没有透露你如何进行布局或如何“继续添加细胞”,所以没有具体的答案是可能的。

编辑(编辑后):仅拨打insertItemsAtIndexPaths:是不够的;您还必须将项目添加到模型(数据源)。否则,布局不知道它们并且不会使可滚动内容变大(并且还会发生许多其他不好的事情)。

答案 3 :(得分:0)

我认为你以一种不正常的方式使用集合视图,但如果集合视图的scrollview的内容区域扩展了集合视图的框架大小,则必须使用属性'contentSize'设置虚拟大小:< / p>

self.collectionView.contentSize = CGSizeMake(768,900);

答案 4 :(得分:0)

我遇到了类似的问题,但由于它是在集合视图底部的梯度,用户无法看到集合视图的最后几行。

我找到解决问题的方法是在大小检查器中,将页脚大小的高度设置为适用于问题的数字。

我知道也许,它不是最好的解决方案。但它适用于我的问题,它很容易使用它。

Collection View that doesn't show the last row:

Collection View after setting the Footer Size Height to 40: