给定一个部分索引,如何获得部分标题的UICollectionReusableView
?
或者我如何从UICollectionReusableView
对象中获取节索引。
我读过这个:How to get the index path of a UICollectionView header?和类似的帖子,但它对我不起作用。
我的部分由NSFetchedResultsController
动态控制,并且有多个插入,删除和重新插入。我怀疑我在collectionView:viewForSupplementaryElementOfKind:atIndexPath
和collectionView:didEndDisplayingSupplementaryView:forElementOfKind:atIndexPath:
中存储的索引在某些时候无效。
答案 0 :(得分:0)
最终我找到了解决方案。丑陋但似乎有效:
- (SUGalleryHeaderView *)headerForSection:(NSInteger)section
{
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:section];
NSString *kind = UICollectionElementKindSectionHeader;
UICollectionViewLayoutAttributes *attr =
[self.collectionViewLayout layoutAttributesForSupplementaryViewOfKind:kind atIndexPath:indexPath];
for (SUGalleryHeaderView *header in headersActive) {
if (CGRectEqualToRect(header.frame, attr.frame)) {
return header;
}
}
return nil;
}
最初发布在此处:Getting supplementary view at specified index in UICollectionView