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

时间:2014-11-04 05:28:43

标签: ios storyboard uilabel uicollectionview uicollectionviewcell

我是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;

我已与UILabel中的Storyboard关联。 但是,当我在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;
}

我的代码出了什么问题?

2 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

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

即可