我已将<UICollectionViewDelegate, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout>
添加到我的收藏集视图中,并设置我的UICollectionView
,如下所示。
[self.collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:reuseIdentifier];
[self.collectionView registerClass:[UICollectionReusableView class] forSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:headerReuseIdentifier];
我还添加了必要的方法。
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout referenceSizeForHeaderInSection:(NSInteger)section {
return CGSizeMake(self.view.frame.size.width, 44.0f);
}
- (UICollectionReusableView *)supplementaryViewForElementKind:(NSString *)elementKind atIndexPath:(NSIndexPath *)indexPath {
NSLog(@"supplementaryViewForElementKind called");
if ([elementKind isEqualToString:UICollectionElementKindSectionHeader]) {
UICollectionReusableView *header = [self.collectionView dequeueReusableSupplementaryViewOfKind:UICollectionElementKindSectionHeader
withReuseIdentifier:headerReuseIdentifier
forIndexPath:indexPath];
header.backgroundColor = [UIColor redColor];
return header;
}
return nil;
}
但是,supplementaryViewForElementKind
永远不会被调用。有什么想法吗?
答案 0 :(得分:0)
如果您已在Interface Builder中添加了标题视图并已分配了该类,则应删除代码中的registerClass
调用。它应该显示。在您的委托方法中暂停以查看它被调用。