我想一个接一个地水平显示UIViews列表,如果行上没有足够的空间,我希望它们换行。
案例1:线上有足够的空间
| [VIEW1] [VIEW2] [VIEW3] |
案例2:线上没有足够的空间
| [VIEW1] [VIEW2] |
| [VIEW3 IS TOO LONG SO IT WRAP] |
完全 UICollectionView + flowLayout是什么,但我不想要任何滚动。我的问题可能是“如何禁用滚动并显示UICollectionView的所有内容?”
感谢。
注意:当然,视图的数量是动态的,所有这些视图的宽度都不同。
答案 0 :(得分:1)
在collectionView
上添加显式高度约束,并将其高度设置为:
self.collectionViewHeightConstraint.constant = self.collectionView.contentSize.height
重新加载集合视图后(您希望已经计算contentSize
)。
由于collectionView
将与其内容一样高,因此不需要滚动。
当然,您希望正确约束集合视图的左侧和右侧。
答案 1 :(得分:0)
UICollectionView
继承自UIScrollView
,因此您可以将collectionView.contentSize
修改为小于宽度(或高度,具体取决于您不希望滚动的方式)它的父视图,它不会滚动。