使用UICollectionView
并希望一次显示少量内容而无需滚动
例如,如果内容的数量是一个或多个,则它可以是五个。但是,如果您将UICollectionView
高度设置为200,以防有1个内容时有5个内容,则高度为200。根据内容的数量,您希望高度如何灵活?
如果内容为5,则uicollectionView的高度为200,如果为1,则高度为40
答案 0 :(得分:0)
您可以停用滚动。
self.collectionView.scrollEnabled = NO;
答案 1 :(得分:0)
您可以执行以下操作来实现此目的:
将高度限制的出口带到您的集合视图,然后根据需要更改高度,例如
let height: CGFloat = (number of rows or content to show) * (heigh of row) //Calculation can differ according to needs
collectionViewHeightConstraint.constant = height
self.view.layoutIfNeeded()
我希望这可以帮助你:)
答案 2 :(得分:0)
可以实现两种方式 - 需要为故事板中的collectionView提供零高度或高度约束
现在在View中会出现这两个简单的步骤
获取内容高度和设置框架高度
HotDealsCollectionView.frame.size.height = HotDealsCollectionView.contentSize.height
根据细胞数量获得高度
HotDealsCollectionView.frame.size.height =(Array.count *静态高度,如果你提供的话)
可以在两个选项的末尾调用LayoutsIfNeeded()
首选第二个如果你连续显示一个我的意思是Vertical CollectionView,而在第一个选项中,你将获得它实际上正在寻找的ContentSize高度
注意:如果你的结果没有得到预期,就像采用这些选项之后不增加帧大小那么只需添加一些静态高度值,如
HotDealsCollectionView.frame.size.height = HotDealsCollectionView.contentSize.height + 50
希望它有助于