首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS Swift - CollectionView XIB XIB XIB

iOS Swift - CollectionView XIB XIB XIB
EN

Stack Overflow用户
提问于 2017-07-04 23:25:22
回答 2查看 922关注 0票数 1

我似乎找不到任何关于如何实现这一目标的信息,而我试图实现的是一些难以解释的东西,但这里是:

我有一个UIViewController,它加载我用XIB创建的可重用UIViews的“堆栈”。在每个可重用的UIView中都有一个CollectionView,它为数组中的每个字符串创建一个自定义CollectionViewCell。

我不知道如何做到这一点。没有任何线索,也没有任何网上报道这种确切的情况。这似乎比任何其他解释都要深一层。每次我试图为CollectionView创建单元格时,我都会得到一个错误:“必须为标识符注册一个nib或类,或者在故事板中连接一个原型单元格”。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-04 23:41:59

弄明白了。是的,如果您想在XIB中使用CollectionView,并且您有一个自定义CollectionViewCell,那么您必须为CollectionViewCell创建一个XIB。在本例中,不能只拥有没有XIB的。然后,在包含XIB的ViewController中,必须使用:

代码语言:javascript
复制
xibView.collectionView.register(UINib(nibName: "CustomCollectionViewCell", bundle: nil), forCellWithReuseIdentifier: "CustomCollectionViewCell")

大多数教程都说要在viewDidLoad中做到这一点,但是我在ViewController中创建的不仅仅是一个XIB,而是基于从数据库中提取的数据创建的一组XIB。所以我在构建每个XIB的循环中这样做。我担心这样做行不通,但确实如此。

为什么你要这么做的原因一直困扰着我。

票数 1
EN

Stack Overflow用户

发布于 2017-07-04 23:52:55

您可以为集合单元格注册一个nib,如下所示:

代码语言:javascript
复制
let cellNib = UINib(nibName: "MyCellAsNib", bundle: nil)
collectionView?.registerNib(cellNib, forCellWithReuseIdentifier: "myCell")

然而,在我看来,使用一个带有节和原型单元格的CollectionViewController要容易得多,而不是使用多个CollectionViews的自定义UIView‘堆栈’。这正是CollectionViewController设计的目的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44915136

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档