使用UIView作为委托和数据源的UICollectionView

时间:2013-10-20 06:03:10

标签: ios objective-c uicollectionview uicollectionviewcell

我必须是一个完整的菜鸟,但我无法理解这一点,需要一些帮助。

我有一个UIView,其中包含UICollectionView。当我添加集合视图时,由于某些原因,我的笔尖中没有UICollectionViewCell我只在UIViewController中添加集合视图时才会显示此内容。我的部分问题是 - 我的nib文件中是否可以有UICollectionViewCell

我认为答案是否定的,所以我尝试了以下内容:

我为自定义UICollectionViewCell创建了一个单独的nib文件和类,并将自定义单元格注册到我的集合视图中,如下所示:

[self.itemsCollection registerClass:[CustomCollectionViewCell class] forCellWithReuseIdentifier:@"ItemCell"];

然后在我的cellForItemAtIndexPath方法中,我这样做:

CustomCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"ItemCell" forIndexPath:indexPath];
cell.itemImage.image = [UIImage imageNamed:@"Some Image.png"];
cell.itemLabel.text = @"Some Title";

但是,当我的单元格被创建时,itemImageitemLabel都是nil

任何想法都将不胜感激!

感谢。

1 个答案:

答案 0 :(得分:1)

如果您在NIB中定义了IBOutlet个引用,那么您必须注册NIB,而不是类。所以,替换:

[self.itemsCollection registerClass:[CustomCollectionViewCell class] forCellWithReuseIdentifier:@"ItemCell"];

[self.itemsCollection registerNib:[UINib nibWithNibName:@"YourNibName" bundle:nil] forCellWithReuseIdentifier:@"ItemCell"];

您的NIB可以指定基类CustomCollectionViewCell