自动调整UICollectionView高度以调整其内容大小

AVo*_*kin 23 ios uicollectionview

我有一个UICollectionView,一个在集合视图中创建新单元格的按钮.我希望UICollectionView根据它的内容大小调整它的大小(当有一个或两个单元格时,那么UICollectionView很短,如果有很多单元格UICollectionView足够大).

我知道如何获取内容大小:

collectionView.collectionViewLayout.collectionViewContentSize

但我不知道在哪里使用这个值.如果有人帮我弄清楚如何让UICollectionView自动调整它的高度,我将不胜感激.

UPD:我在GitHub上发布了一个描述问题的演示项目:https://github.com/avokin/PostViewer

Reg*_*ion 6

我不认为内容大小是你所追求的.我想你想要调整集合视图所消耗的屏幕空间量,对吧?这将需要调整框架.内容大小包括屏幕外(滚动)区域以及屏幕视图.

我不知道任何会阻止你动态改变帧大小的东西:

collectionView.frame = CGRectMake (x,y,w,h);
[collectionView reloadData];
Run Code Online (Sandbox Code Playgroud)

如果我正确理解你.


sam*_*fix 6

对集合视图使用高度约束,并在需要时使用内容高度更新其值.请参阅此答案:https://stackoverflow.com/a/20829728/3414722