ios - iOS:根据内容的高度更改collectionView标头的高度
问题描述
我有一个使用组合布局的 collectionView。集合视图有一个标题,标题内部是一个标签,根据从 API 加载的数据,它可以有不同的高度。
我正在以编程方式做所有事情。
我已经使用以下布局设置了 collectionView
private func setUpLayout() -> NSCollectionLayoutSection {
let item = NSCollectionLayoutItem(layoutSize: NSCollectionLayoutSize(widthDimension: .fractionalWidth(1.0), heightDimension: .fractionalHeight(1.0)))
item.contentInsets = NSDirectionalEdgeInsets(top: 8, leading: 16, bottom: 8, trailing: 16)
let groupHeight = (120 * 5) / 7 // 7:5 aspect ratio from a fixed width
let group = NSCollectionLayoutGroup.vertical(layoutSize: NSCollectionLayoutSize(widthDimension: .fractionalWidth(1), heightDimension: .absolute(CGFloat(groupHeight + 16))), subitem: item, count: 1)
let section = NSCollectionLayoutSection(group: group)
section.boundarySupplementaryItems = [
NSCollectionLayoutBoundarySupplementaryItem(
layoutSize: NSCollectionLayoutSize(widthDimension: .fractionalWidth(1.0), heightDimension: .fractionalHeight(0.6)),
elementKind: UICollectionView.elementKindSectionHeader,
alignment: .top)
]
return section
}
如何将标题的高度设置为取决于其内容的高度?
我尝试了 collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, referenceSizeForHeaderInSection section: Int) -> CGSize 但这似乎不适用于组合布局。
解决方案
推荐阅读
- html - 如何使卡片组和轮播重叠
- jmeter - 在响应时间方面需要帮助
- javascript - 我们如何确定何时在 selenium c# 中使用 JavaScriptExecutor?
- java - java - 根据对象属性列出删除特定对象
- python - 如何使用此 ffmpeg python 脚本正确剪切视频
- c++ - SFML 具有随机值的多个对象及其冲突
- matlab - 如何防止表值中的精度损失?
- .net - Office365 和 Visual Studio 2010 是否有 PIA?
- snowflake-cloud-data-platform - 我需要为 Snowflake 和 On Premise 之间的数据传输付费吗?
- css - 垂直滚动条可见性