2

我正在使用具有固定大小 CollectionViewCells 的 UICollectionView。我在带有 UIPopoverController 的 popOver 中显示此 CollectionView。

我的目标是 popOver 自动调整为 CollectionView 的内容。因此,如果我只有 4 个单元格,那么它应该很小。如果我有更多的细胞,它应该更大。我想避免popOver中留下的空白。

所以我不想要一个固定的 popOver 大小,而是一个取决于 CollectionView 中单元格数量的变量。

有什么建议么?

4

1 回答 1

3

我自己很难弄清楚这一点,但最终还是明白了。您必须访问 Collection View 的collectionViewLayout属性,然后使用collectionViewContentSize方法来获取内容的大小。然后,您可以使用它们通过设置框架来调整集合视图的大小。

CGRect rectangle;
rectangle = _collectionView.frame;
rectangle.size = [_collectionView.collectionViewLayout collectionViewContentSize];
_collectionView.frame = rectangle;

现在您的集合视图已根据其内容调整大小,您可以根据集合视图大小设置 popOver 的大小。它可能看起来像这样。

popOver.frame = _collectionView.frame;

或者

[popOver sizeToFit];
于 2013-08-16T20:54:06.023 回答