从UICollectionView(或其他方向)获取节索引

时间:2014-08-07 15:39:11

标签: objective-c uicollectionview nsfetchedresultscontroller

给定一个部分索引,如何获得部分标题的UICollectionReusableView

或者我如何从UICollectionReusableView对象中获取节索引。

我读过这个:How to get the index path of a UICollectionView header?和类似的帖子,但它对我不起作用。

我的部分由NSFetchedResultsController动态控制,并且有多个插入,删除和重新插入。我怀疑我在collectionView:viewForSupplementaryElementOfKind:atIndexPathcollectionView:didEndDisplayingSupplementaryView:forElementOfKind:atIndexPath:中存储的索引在某些时候无效。

1 个答案:

答案 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