UICollectionViewCell的子类未显示

Mar*_*ton 5 cocoa-touch uicollectionview uicollectionviewcell

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

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

要为UICollectionViewCell创建子类,我执行了以下操作:

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

在此输入图像描述

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

    [self.collectionView registerClass:[CustomCollectionViewCell class] forCellWithReuseIdentifier:@"cvCell"];
    
    Run Code Online (Sandbox Code Playgroud)
  • 在"collectionView:cellForItemAtIndexPath:"中创建自定义单元格的实例

    CustomCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"cvCell" forIndexPath:indexPath];
    
    Run Code Online (Sandbox Code Playgroud)

从我读过的,应该这样做!但是集合视图显示空白,任何人都可以帮忙吗?

Ani*_*ese 6

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

  cell.backgroundColor = [UIColor redColor];
Run Code Online (Sandbox Code Playgroud)

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

  • 如果你在nib中完成了所有工作,那么你需要注册nib而不是class.使用__registerNib__而不是__registerClass__来注册单元格.如果您正在注册课程,您必须以编程方式处理所有内容... :) (9认同)