1

当我获得集合视图标题的补充视图时出现错误。我使用以下代码注册补充视图

UINib *headerNib = [UINib nibWithNibName:@"MTHomeHeaderView" bundle:nil];
[self.collectionView registerNib:headerNib forSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:@"HomeHeaderView"];

这里没有错误。但是当我使用以下代码获取视图时

- (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath
{
    return [self.collectionView dequeueReusableSupplementaryViewOfKind:kind withReuseIdentifier:@"HomeHeaderView" forIndexPath:indexPath];
}

我收到以下错误并且应用程序崩溃

    2013-08-20 11:00:35.046 MyTime[54845:a0b] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 
'invalid nib registered for identifier (HomeHeaderView) - nib must contain exactly one top level object which must be a UICollectionReusableView instance'
    *** First throw call stack:

我只有一个集合可重用视图,但我在 Xib 中有一个对象,如下图所示。我确实需要这个对象,因为我需要将标题中显示的文本字段与作为主视图控制器的对象链接起来。鉴于我的要求,我该如何解决这个问题?

在此处输入图像描述

4

1 回答 1

2

简单的。确保在 XIB 中设置正确的自定义类(UICollectionReusableView 的子类)。

不是四个文件的所有者,而是你的牢房!

XIB 中的自定义类

于 2014-01-21T13:08:15.810 回答