我必须是一个完整的菜鸟,但我无法理解这一点,需要一些帮助。
我有一个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";
但是,当我的单元格被创建时,itemImage
和itemLabel
都是nil
。
任何想法都将不胜感激!
感谢。
答案 0 :(得分:1)
如果您在NIB中定义了IBOutlet
个引用,那么您必须注册NIB,而不是类。所以,替换:
[self.itemsCollection registerClass:[CustomCollectionViewCell class] forCellWithReuseIdentifier:@"ItemCell"];
与
[self.itemsCollection registerNib:[UINib nibWithNibName:@"YourNibName" bundle:nil] forCellWithReuseIdentifier:@"ItemCell"];
您的NIB可以指定基类CustomCollectionViewCell
。