如何根据 UICollectionView 中有多少单元格来更改视图的大小

Posted

技术标签:

【中文标题】如何根据 UICollectionView 中有多少单元格来更改视图的大小【英文标题】:How to change the size of the view based off how many cells are in a UICollectionView 【发布时间】:2018-02-06 22:26:16 【问题描述】:

我正在创建一个包含菜单项的集合视图。集合视图应该足够高,以便它完全适合视图的大小。

我可以为 UICollectionView 设置一个固定的高度约束,但如果有 20 个项目,那么高度可能太小,或者如果有 5 个单元格,高度就会太大。

有没有办法根据视图有多少单元格来更改主视图和集合视图的框架?可能在 viewDidLoad() 函数中?

【问题讨论】:

【参考方案1】:

在storyboard中设置collection view的高度约束为任意值,并把它钩成IBOutlet说collectionHCon

override func viewDidLayoutSubviews() 
    self.collectionHCon.constant = numberOfItems * itemHeight
    super.viewDidLayoutSubviews()

【讨论】:

以上是关于如何根据 UICollectionView 中有多少单元格来更改视图的大小的主要内容,如果未能解决你的问题,请参考以下文章

如何在 UICollectionView 中动态调整标题视图的大小?

如何调整 uicollectionview 单元格中 imageview 的位置?

如何在 UICollectionView 中有自定义单元格

如何让 Storyboard 支持 UICollectionView 中动态大小的单元格?

如何根据 UICollectionView 的部分以编程方式更新标签

如何根据 UITableViewCell 中的内容调整水平 UICollectionView 的高度