Я хочу, чтобы в моих разделах UICollectionViewбыл заголовок с изображением.
Я выполнил следующие шаги:
- в раскадровке, назначил заголовок как аксессуар для моего
UICollectionView - дал ему идентификатор
- создал подкласс
UICollectionReusableViewдля него - назначил настраиваемый класс классу в раскадровке.
- поставить
ImageViewна заголовок аксессуар - сделал выход для
ImageViewпользовательского класса в.hфайле - Реализовано на
viewDidLoad:
[self.collectionView registerClass:[ScheduleHeaderView class] forSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:headerIdentifier];
-(UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath
{
UICollectionReusableView *reusableview = nil;
if (kind == UICollectionElementKindSectionHeader)
{
ScheduleHeaderView *headerView = [collectionView dequeueReusableSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:headerIdentifier forIndexPath:indexPath];
headerView.headerImageView.image = [UIImage imageNamed:@"blah.png"];
reusableview = headerView;
}
return reusableview;
}
Я знаю, что методы источника данных и делегата работают, потому что я могу видеть все ячейки и их разделы. Однако у меня нет заголовков. Я установил точку останова в методе выше, и он никогда не вызывается.
Что я делаю неправильно?
kind == UICollectionElementKindSectionHeaderвместо содержимого строк, которое вы, вероятно, захотите использовать[kind isEqualToString: UICollectionElementKindSectionHeader]вместо этого.