UICollectionView页脚问题

时间:2016-10-19 16:52:55

标签: ios objective-c uicollectionview

我正在尝试在我的收藏视图中添加一个页脚,但它正在崩溃'the view returned from -collectionView:viewForSupplementaryElementOfKind:atIndexPath (UICollectionElementKindSectionFooter,<NSIndexPath: 0xc000000000000016> {length = 2, path = 0 - 0}) was not retrieved by calling -dequeueReusableSupplementaryViewOfKind:withReuseIdentifier:forIndexPath: or is nil ((null))'

在viewDidLoad中:

[self.collectionView registerClass:[FooterView class]forSupplementaryViewOfKind:UICollectionElementKindSectionFooter withReuseIdentifier:@"FooterView"];

这是我的代码。

- (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind: (NSString *)kind atIndexPath: (NSIndexPath *)indexPath {

    UICollectionReusableView *reusableView = nil;

    if (kind == UICollectionElementKindSectionFooter) {
        FooterView *footerView = [collectionView dequeueReusableSupplementaryViewOfKind:kind withReuseIdentifier:@"FooterView" forIndexPath:indexPath];

        CGFloat width = footerView.frame.size.width;
        UIColor *kfbBlue = [UIColor colorWithRed:8.0/255.0f green:77.0/255.0f blue:139.0/255.0f alpha:1];

        UIButton *moreButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
        moreButton.backgroundColor = [UIColor clearColor];
        [moreButton setTitle:@"More" forState:UIControlStateNormal];
        [moreButton setTitleColor:kfbBlue forState:UIControlStateNormal];
        moreButton.titleLabel.textAlignment = NSTextAlignmentCenter;
        moreButton.titleLabel.font = [UIFont fontWithName:@"FranklinGothicStd-ExtraCond" size:25.0];
        moreButton.frame = CGRectMake(width / 2 - 25, 0, 50, 50);
        moreButton.layer.cornerRadius = 25.0;
        moreButton.layer.borderWidth = 2.0f;
        moreButton.layer.borderColor = kfbBlue.CGColor;
        moreButton.clipsToBounds = YES;
        moreButton.backgroundColor = [UIColor clearColor];
        [moreButton addTarget:self action:@selector(loadMoreImages) forControlEvents:UIControlEventTouchUpInside];
        [footerView addSubview:moreButton];

        if (loaded == YES) {
            reusableView = footerView;
        }
    }

    return reusableView;
}

0 个答案:

没有答案