我一定是个菜鸟,但我想不通,需要一些帮助。
我有一个 UIView ,其中有一个 UICollectionView 。当我添加 Collection View 时,由于某种原因,我在我的 Nib 中没有得到 UICollectionViewCell ,我只有在 UIViewController 中添加 Collection View 时才会得到这个。我的部分问题是 - 在这里我的 nib 文件中是否有可能有一个 UICollectionViewCell ?
我认为答案是否定的,所以我尝试了以下方法:
我为我的自定义 UICollectionViewCell 创建了一个单独的 nib 文件和类,并将自定义单元格注册到我的 Collection View ,如下所示:
[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 。
任何想法都将不胜感激!
谢谢。
Best Answer-推荐答案 strong>
如果您在 NIB 中定义了 IBOutlet 引用,那么您必须注册 NIB,而不是类。所以,替换:
[self.itemsCollection registerClass:[CustomCollectionViewCell class] forCellWithReuseIdentifier"ItemCell"];
与
[self.itemsCollection registerNib:[UINib nibWithNibName"YourNibName" bundle:nil] forCellWithReuseIdentifier"ItemCell"];
您的 NIB 可以指定 CustomCollectionViewCell 的基类。
关于ios - 以 UIView 作为委托(delegate)和数据源的 UICollectionView,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/19474409/
|