I\'m working on a project that uses an UICollectionView
to show several albums. The items show fine, but now I want to show an header above the first section.
After looking for the method yuf asked about, I read that by default the size of headers/footers are 0,0. If the size is 0, the header/footer won't display.
You can set the size with a property:
flowLayout.headerReferenceSize = CGSizeMake(0, 100);
Then all the headers will have the same size. If it has to be different for each section, you can implement the following method, which is part of the UICollectionViewDelegateFlowLayout
protocol.
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout referenceSizeForHeaderInSection:(NSInteger)section {
if (section == albumSection) {
return CGSizeMake(0, 100);
}
return CGSizeZero;
}
Note that in vertical scrolling it uses the returned height
and the full width of the collection view, in horizontal scrolling it uses the return width
and the full height of the collection view.