问题描述
我有一个由合成布局+可变数据源提供支持的集合视图。它使用三个补充边界项:页眉,页脚和“前导页眉”。
问题是:前导标头的小数部分基于整个容器,而不是部分。因此,我不能简单地设置标题的“分数高度= 1”。相反,我需要计算节的大小,并使用“绝对值”将标题的高度设置为其。 但是如何获取该部分的大小?
func createFoodSection(using section: FoodCategory,sectionIndex: Int) -> NSCollectionLayoutSection {
let itemSize = NSCollectionLayoutSize(widthDimension: .estimated(75),heightDimension: .fractionalHeight(1.0))
let item = NSCollectionLayoutItem(layoutSize: itemSize)
let groupSize = NSCollectionLayoutSize(widthDimension: .fractionalWidth(1.0),heightDimension: .absolute(39))
let group = NSCollectionLayoutGroup.horizontal(layoutSize: groupSize,subitems: [item])
let leftSize = NSCollectionLayoutSize(widthDimension: .absolute(5.0),heightDimension: .absolute(120.0))
let leftSection = NSCollectionLayoutBoundarySupplementaryItem(layoutSize: leftSize,elementKind: "leadingKind",alignment: .leading)
let topSectionHeader = createSectionHeader()
let layoutSection = NSCollectionLayoutSection(group: group)
layoutSection.boundarySupplementaryItems = [topSectionHeader,leftSection]
return layoutSection
}
该部分中的组高度固定为.absolute(39)。因此,如果我知道某个部分中的组数,我应该能够计算高度。
加分!这些部分可展开折叠。意味着页眉的高度需要随着其部分的展开折叠而改变。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)