5

我有一个 UICollectionView,它通过单击导航控制器中的表格单元格来显示。所以 UICollectionView 是导航控制器堆栈中的第二个屏幕。

当我注册一个笔尖并通过 UICollectionViewCell 类创建单元格时,单元格在集合视图中显示得很好。但是,一旦我尝试为单元格创建子类,集合视图就会显示为黑屏。我的项目可以在这里找到。 链接到 Dropbox 中的项目

为了继承 UICollectionViewCell,我做了以下事情:

  • 为 UICollectionViewCell 的子类创建了 .h 和 .m 文件。在 nib 的属性检查器上引用了这个自定义类。

在此处输入图像描述

  • 在显示集合视图的视图控制器的 viewDidLoad 中,使用单元格的重用标识符注册了自定义类。

    [self.collectionView registerClass:[CustomCollectionViewCell class] forCellWithReuseIdentifier:@"cvCell"];
    
  • 在“collectionView:cellForItemAtIndexPath:”中创建了自定义单元格的实例

    CustomCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"cvCell" forIndexPath:indexPath];
    

从我读过的内容来看,应该这样做!但是收藏视图显示为空白,有人可以帮忙吗?

4

1 回答 1

7

我检查了你的代码。你做得很完美。包含单元格的集合视图显示正确,但您看不到,因为您没有设置单元格的任何属性。只需通过设置单元格的背景颜色来检查cellForItem

  cell.backgroundColor = [UIColor redColor];

如果您在 nib 中完成了所有操作,那么您需要注册 nib 而不是类。使用registerNib而不是registerClass. 如果您要注册课程,则必须以编程方式完成所有操作。

于 2013-04-02T06:53:42.387 回答