iOS - 缺少将自定义UICollectionViewCell添加到UICollectionView的内容

hvg*_*des 4 ios uicollectionview uicollectionviewcell

我试图定义我自己的自定义UICollectionViewCell实现并在一个中使用它UICollectionView.这就是我所做的.

1-我正在使用故事板.

2-我添加了一个UICollectionView到另一个视图,这是故事板上的一个场景.

3-我指出datasource并将delegate该集合添加到场景的控制器中.

4-我在控制器中提供了所需方法的实现.

5-我创建了一个单元格视图.h.m文件.在.h我做的文件中

@interface HscCellView : UICollectionViewCell

6-我创建了一个新视图,所以我得到了一个新的画布,在右边的相应部分我指定了我的类名(与步骤5中相同),并提供了一个唯一的标识符.
7-在场景的控制器中,我将.h文件中的插座定义为我拖入的集合视图.

@property (nonatomic, strong) IBOutlet UICollectionView *holesCollectionView;

viewDidLoad我做

[self.holesCollectionView registerClass:[HscCellView class] forCellWithReuseIdentifier:@"cellView"];
Run Code Online (Sandbox Code Playgroud)

请注意,这cellView是我为自定义单元格xib指定的唯一标识符.

8-最后,我实施了

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
    HscCellView *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"cellView" forIndexPath:indexPath];

    return cell;

}
Run Code Online (Sandbox Code Playgroud)

当我启动应用程序时,我得到了一堆单元格视图(9,因为我在numberOfItemsInSection消息上指定了9 )但它们不是我的自定义单元格视图.它们没有尺寸,颜色或标签.我没有看到任何错误.我被卡住了.

一些辅助问题.

  • 我何时使用注册笔尖以及何时注册类名?我已经看到它完成了两种方式,但似乎你总是最终得到一个nib和一个类定义代码,这是真的吗?

  • 在步骤6中,当我在画布中为自定义单元格视图指定唯一ID时,这是否意味着我不需要在该类中注册该类viewDidLoad

hvg*_*des 11

我想,明白了.我会尝试解释它,如果我错了,希望能得到纠正.我认为这对其他人有帮助.基于我的问题的评论,我确定我的班级的实例实际上已被加载.然而,xib被忽略了.这意味着当我的类被加载时,xib没有被使用.那么,在问题的第7步中,我做到了

UINib *nib = [UINib nibWithNibName:@"HscCellView" bundle:nil];
    [self.holesCollectionView registerNib:nib forCellWithReuseIdentifier:@"cellView"];
Run Code Online (Sandbox Code Playgroud)

而不是注册课程,现在事情似乎工作.

我有点好奇,因为我将xib与我的自定义类相关联,这是必要的,但我不再被卡住了.