gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 05:04:41 25 4
gpt4 key购买 nike

我正在尝试定义我自己的自定义 UICollectionViewCell 实现并在 UICollectionView 中使用它。这是我所做的。

1- 我正在使用 Storyboard。

2- 我向另一个 View 添加了一个 UICollectionView,那是 Storyboard上的一个场景。

3- 我将集合的 datasourcedelegate 指向场景的 Controller 。

4- 我在 Controller 中提供了所需方法的实现。

5- 我创建了一个单元格 View .h.m 文件。在 .h 文件中我做

@interface HscCellView : UICollectionViewCell

6- 我创建了一个新 View ,所以我得到了一个新 Canvas ,并在右侧的适当部分指定了我的类名(与步骤 5 相同),并提供了一个唯一标识符。
7- 在场景的 Controller 中,我在 .h 文件中定义了一个导出到我拖入的 Collection View 。

@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;

}

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

一些辅助问题。

  • 我什么时候使用注册 Nib ,什么时候注册类名?我已经看到它以两种方式完成,但似乎您几乎总是以 nib 和类定义代码结束,是这样吗?

  • 在第 6 步中,当我在 Canvas 中为自定义单元格 View 指定唯一 ID 时,是否意味着我不需要在 viewDidLoad 中注册该类?

最佳答案

我想,明白了。我会尝试解释它,如果我错了,希望能得到纠正。我认为这会对其他人有所帮助。根据我的问题的评论,我确定实际上正在加载我的类的实例。但是,xib 被忽略了。这意味着当我的类(class)被加载时,xib 没有被使用。所以,在问题的第 7 步中,我做

UINib *nib = [UINib nibWithNibName:@"HscCellView" bundle:nil];
[self.holesCollectionView registerNib:nib forCellWithReuseIdentifier:@"cellView"];

而不是注册类,现在一切似乎都有效。

我很好奇为什么,因为我将 xib 与我的自定义类相关联,这是必要的,但我不再卡住。

关于iOS——缺少将自定义 UICollectionViewCell 添加到 UICollectionView 的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14319678/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com