Получить конкретную высоту заголовка в collectionView(: referenceSizeForHeaderInSection)?
Можно ли получить высоту заголовка до collectionView(: referenceSizeForHeaderInSection)
называется? То, что я хочу сделать, это установить высоту заголовка на основе UICollectionReusableView в моей раскадровке.
Я попробовал это решение ниже, но collectionView(: referenceSizeForHeaderInSection)
называется раньше collectionView(: viewForSupplementaryElementOfKind)
, Он установлен на начальную высоту по умолчанию 0,0. Итак, я не могу установить высоту моего текущего заголовка.
let headerHeight = 0.0
func collectionView(_ collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, at indexPath: IndexPath) -> UICollectionReusableView {
guard kind == UICollectionElementKindSectionHeader else {
fatalError()
}
let header = collectionView.dequeueReusableSupplementaryView(ofKind: kind, withReuseIdentifier: "SectionHeader", for: indexPath) as! SectionHeader
//try to set height here
headerHeight = header.frame.size.height
return header
}
func collectionView(_ collectionView: UICollectionView,
layout collectionViewLayout: UICollectionViewLayout,
referenceSizeForHeaderInSection section: Int) -> CGSize{
if (section == 0) { //headerHeight = 0.0 here
return CGSize(width: collectionView.frame.size.width, height: headerHeight)
} else {
return CGSize(width: collectionView.frame.size.width, height: collectionView.frame.size.height)
}
}
Есть ли способ использовать dequeueReusableSupplementaryView(:_)
в collectionView(: referenceSizeForHeaderInSection)
?