使用 .xib 创建 CollectionView?

Posted

技术标签:

【中文标题】使用 .xib 创建 CollectionView?【英文标题】:Create CollectionView using .xib? 【发布时间】:2019-01-09 10:41:41 【问题描述】:

我想使用 .xib 文件创建 CollectionView,我也将使用 .xib 添加 UICollectionViewCell。 我们能做到吗? 如果可能,请说明我们如何获得它。

【问题讨论】:

是的,您可以像情节提要一样做到这一点。你试过了吗? 【参考方案1】:

与故事板不同,.xib 文件不支持原型单元。因此,您使用 .xib 创建的任何集合视图,您还必须创建一个 UINib 并将其注册到集合视图,然后再尝试使任何内容出队:

let nib = UINib(nibName: "Cell", bundle: nil)
collectionView.register(nib, forCellWithReuseIdentifier: "Cell")

【讨论】:

【参考方案2】:

第 1 步- 创建/拖放 collectionView 到您的故事板。

第 2 步- 创建 .xib 类型的 collectionCell 类

第 3 步- 使用一行代码注册。

yourCollectionViewView.register(UINib(nibName: "yourCollectionViewCell", bundle: nil), forCellWithReuseIdentifier: "yourCellIdentifier")

【讨论】:

【参考方案3】:

是的,它可能与情节提要相同,但您需要在集合视图 On viewDidLoad() 上注册该单元格

override func viewDidLoad() 
    super.viewDidLoad()
    yourCollectionViewOutlet.register(UINib(nibName: "CellXibName",bundle: nil), forCellWithReuseIdentifier: "CellIdentifier")

【讨论】:

以上是关于使用 .xib 创建 CollectionView?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Swift 中使用宽度约束将 Xib 加载到 CollectionView?

在带有 xib 文件的 UIView 中使用 CollectionView

从嵌入在 tableView 中的 collectionView 显示 xib

不带 XIB 的 UICollectionView,带 XIB 的 UICollectionViewCell

通过Xib创建 UICollectionView 和自定义UICollectionViewCell

为啥 Collection Cell 不显示在 collectionView 上?