我试图定义我自己的自定义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"];
请注意,这cellView
是我为自定义单元格 xib 指定的唯一标识符。
8-最后,我实现了
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
HscCellView *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"cellView" forIndexPath:indexPath];
return cell;
}
当我启动应用程序时,我得到一堆单元格视图(9 个,因为我在numberOfItemsInSection
消息上指定了 9),但它们不是我的自定义单元格视图。它们没有尺寸、颜色或标签。我没有看到任何错误。我被困住了。
几个辅助问题。
我什么时候使用注册笔尖,什么时候注册类名?我已经看到它以两种方式完成,但似乎你几乎总是同时得到一个 nib 和一个类定义代码,这是真的吗?
在第 6 步中,当我在画布中为自定义单元格视图指定唯一 id 时,这是否意味着我不需要在 中注册该类
viewDidLoad
?