Я хочу, чтобы в моих разделах 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]
вместо этого.