OStack程序员社区-中国程序员成长平台

标题: ios - 以 UIView 作为委托(delegate)和数据源的 UICollectionView [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 15:45
标题: ios - 以 UIView 作为委托(delegate)和数据源的 UICollectionView

我一定是个菜鸟,但我想不通,需要一些帮助。

我有一个 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";

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

任何想法都将不胜感激!

谢谢。



Best Answer-推荐答案


如果您在 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/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4