我正在使用具有固定大小CollectionViewCells的UICollectionView。我在带有UIPopoverController的popOver中显示这个CollectionView。
我的目标是popOver自动调整大小到CollectionView的内容。所以,如果我只有4个细胞,那么它应该很小。如果我有更多的细胞,它应该更大。我想避免popOver中剩下的空白区域。
所以我不想要一个固定的popOver大小,而是一个变量,取决于CollectionView中的单元格数。
有什么建议吗?
答案 0 :(得分: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];