将 UILabel 添加到自定义 UICollectionViewCell 不会出现在 cellForItemAtIndexPath 中

Posted

技术标签:

【中文标题】将 UILabel 添加到自定义 UICollectionViewCell 不会出现在 cellForItemAtIndexPath 中【英文标题】:Add UILabel to Custom UICollectionViewCell doesn't appear in cellForItemAtIndexPath 【发布时间】:2014-11-04 05:28:42 【问题描述】:

我是 UICollectionView 的新手。我正在尝试将两个 UILabel 添加到我的自定义 UICollectionViewCell 中,如下所示。

@interface PassCell : UICollectionViewCell

@property (nonatomic) IBOutlet UILabel *titleLabel;
@property (nonatomic) IBOutlet UIButton *infoButton;
@property (nonatomic) IBOutlet UIButton *doneButton;
@property (nonatomic) IBOutlet UILabel *headerTitle;

我已经在Storyboard 中与UILabel 建立了联系。 但是,当我在 CellforITemAtIndexPath 中设置 headerTitle 时, headerTitle UILabel 不会出现。只有titleLabel可以设置值。

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath

    PassCell *cell = (PassCell *)[collectionView dequeueReusableCellWithReuseIdentifier:@"pass" forIndexPath:indexPath];

    cell.titleLabel.shadowColor = [UIColor blackColor];
    cell.titleLabel.textColor = [UIColor whiteColor];
    cell.titleLabel.shadowOffset = CGSizeMake(0, 1);

    cell.titleLabel.text = @"Test";
    cell.headerTitle.text // That doesn't appear.

    return cell;

我的代码有什么问题?

【问题讨论】:

试试 [cell.contentview addsubview:titlelabel]; 我在 Storyboard 中添加了 UILabel。我还与 IBOutLet 建立了联系。但没有出现在 cellForItemAtIndexPath 中。 在 cellforRow 中以编程方式创建 uilabel。它确实有效。 给该标签一些标签值并在此处使用该标签 标签本身会出现吗?在情节提要中给它一个背景颜色以查看。可能是因为不适当的限制,它不在屏幕上。 【参考方案1】:

您必须在 cellForRow 方法之前以编程方式(在 viewDidLoad 中)注册您的 CustomCell

 [self.collectionView registerClass:[PassCell class] forCellWithReuseIdentifier:@"pass"];

我不太确定它是如何在 StoryBoards 中完成的,但以编程方式执行它并没有错。

【讨论】:

这是不正确的。如果您在情节提要中制作单元格,则不应注册该类。仅当您完全在代码中制作单元格时才注册该课程。【参考方案2】:

只需将storyBoard中的自定义类设置为collectionView Cell

【讨论】:

以上是关于将 UILabel 添加到自定义 UICollectionViewCell 不会出现在 cellForItemAtIndexPath 中的主要内容,如果未能解决你的问题,请参考以下文章

无法将 UILabel 添加到 UICollectionViewCell

如何删除右侧的UILabel灰色边框?

将视频添加到自定义照片集合返回错误

传单:如何将文本标签添加到自定义标记图标?

将 UIImageView 添加到自定义 UITableViewCell

将滚动条添加到自定义 QWidget