В моем collectionView я хочу, чтобы первый заголовок был растянутым, а все остальные заголовки должны быть липкими. Есть ли способ сделать это? Вот код для расширенного заголовка
класс HeaderLayout: UICollectionViewFlowLayout {
override func layoutAttributesForElements(in rect: CGRect) -> [UICollectionViewLayoutAttributes]? {
let layoutAttributes = super.layoutAttributesForElements(in: rect)
let offset = collectionView!.contentOffset
if offset.y < 0 {
let deltaY = abs(offset.y)
for attributes in layoutAttributes!{
if let elementKind = attributes.representedElementKind {
if elementKind == UICollectionView.elementKindSectionHeader && attributes.indexPath.section == 0 {
var frame = attributes.frame
frame.size.height = max(0, headerReferenceSize.height + deltaY)
frame.origin.y = frame.minY - deltaY
attributes.frame = frame
}
}
}
}
return layoutAttributes
}
Я пытался управлять другим липким заголовком с помощью:
if elementKind == UICollectionView.elementKindSectionHeader && attributes.indexPath.section == 1 {
sectionHeaderPinToVisibleBounds = true
}
Но как только я установил свойство sectionHeaderPinToVisibleBounds, все заголовки стали нечеткими ...