具有多个不同单元格的 CollectionView,在其他 CollectionViews 中注册

尼克萨诺

我有两个单独的视图控制器。

在 中ViewController1,我有一个CollectionView1和一个工作正常的单元格。我使用storyboardwith设置单元格ReuseIdentifier "Cell1"

在 中ViewController2,我有另一个CollectionView2可以正常工作的不同单元格。我也使用storyboardwith设置了单元格ReuseIdentifier "Cell2"

两个单元格都有自定义单元格类UserCell1UserCell2,并且在它们单独的CollectionViews.

现在,对于 中的第二个单元格CollectionView2,我想使用第一个集合视图中的单元格(ie. IndexPath(row: 1, section: 0))

CollectionView2,我想要:

IndexPath(row: 0, section: 0) -> "Cell1"
IndexPath(row: 1, section: 0) -> "Cell2"

ViewController2,内cellForItemAt,我已经使用式表示哪个小区试图dequeue在每一个index但是,它告诉我第ViewController一个单元格没有注册......但同一个单元格正在其家中工作CollectionView,因此ReuseIdentifier显然正在工作。

之内 cellForItemAt (numberOfRowsInSection = 2):

if indexPath == IndexPath(row: 0, section: 0) {
                guard let cell1 = collectionView.dequeueReusableCell(withReuseIdentifier: "Cell1", for: indexPath) as? UserCell1 else { return UICollectionViewCell() }
                cell1.configure(user: selectedUser)
                return cell1
            } else if indexPath == IndexPath(row: 1, section: 0) {
                guard let cell2 = collectionView.dequeueReusableCell(withReuseIdentifier: "Cell2", for: indexPath) as? UserCell2 else { return UICollectionViewCell() }
                cell2.configure(user: selectedUser)
                return cell2
            } else {
            return UICollectionViewCell()
            }

我得到的错误是:

Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'could not dequeue a view of kind: UICollectionElementKindCell with identifier Cell1 - must register a nib or a class for the identifier or connect a prototype cell in a storyboard'

提前致谢!!!!这真让我抓狂 :(

omartarek32

您的代码的最佳做法是在 XIB 中而不是在故事板中定义每个单元格,这将帮助您通过从代码中注册它们来重用任何集合视图中的两个单元格,您可以在此处查看示例:

如何使用swift在UICollectionView单元格中加载自定义单元格(xib)

如果由于某种原因需要在storyboard中定义单元格,则需要在每个collectionView2中声明两个原型单元格

看下面的屏幕,我们有一个集合视图,项目数 = 2,我们应该为每个单元格提供唯一的 ReuseIdentifier

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在其他文件夹中注册Service Worker

来自分类Dev

我在大范围内注满水印,是否可以在其他所有单元格中注满?加快速度

来自分类Dev

在Rails中注册不同的用户?

来自分类Dev

空白单元格未在Excel中注册为零

来自分类Dev

可以在基本表视图类中注册所有表视图单元格吗?

来自分类Dev

需要在Meteor帐户中注册的其他信息

来自分类Dev

在ApplicationController中注册其他类型的回调

来自分类Dev

在其他类中注入类

来自分类Dev

在VSCode扩展中注册多个命令

来自分类Dev

以编程方式制作多个 CollectionViews

来自分类Dev

如何在其他(SNMPv3)上下文中注册MIB模块。在SNMP代理端

来自分类Dev

列出所有在Vertx中注册的路线

来自分类Dev

Ansible从列表中注册所有变量

来自分类Dev

单个CollectionView中两个具有不同尺寸的单元格

来自分类Dev

Excel-在一个单元格中定义一个公式,以在具有不同输入(如函数)的其他单元格中使用

来自分类Dev

保持UITableViewCell在其他单元格的前面

来自分类Dev

在其他标签中查找单元格值

来自分类Dev

UITableViewCells在其他类型的单元格上显示

来自分类Dev

查找多个值,在其他列中串联对应的值,写入单元格

来自分类Dev

在以编程方式实例化的Table View Controller中注册单元格

来自分类Dev

计算具有某些值的单元格,这些单元格出现在具有其他值的单元格之间

来自分类Dev

具有collectionviews的Swift慢速自定义键盘按钮

来自分类Dev

Swift 2-将选定的CollectionView单元格置于其他单元格的前面

来自分类Dev

单元格的进度条在其他单元格上重复

来自分类Dev

在其他单元格的基础上对单元格求和

来自分类Dev

查找其他单元格中存在至少具有相同文本的单元格(Excel)

来自分类Dev

在Castle Windsor容器中注册多个类型的工厂

来自分类Dev

是否可以在多个阶段中注册CXF拦截器?

来自分类Dev

在多个DLL中注册常见的Qt元类型

Related 相关文章

  1. 1

    在其他文件夹中注册Service Worker

  2. 2

    我在大范围内注满水印,是否可以在其他所有单元格中注满?加快速度

  3. 3

    在Rails中注册不同的用户?

  4. 4

    空白单元格未在Excel中注册为零

  5. 5

    可以在基本表视图类中注册所有表视图单元格吗?

  6. 6

    需要在Meteor帐户中注册的其他信息

  7. 7

    在ApplicationController中注册其他类型的回调

  8. 8

    在其他类中注入类

  9. 9

    在VSCode扩展中注册多个命令

  10. 10

    以编程方式制作多个 CollectionViews

  11. 11

    如何在其他(SNMPv3)上下文中注册MIB模块。在SNMP代理端

  12. 12

    列出所有在Vertx中注册的路线

  13. 13

    Ansible从列表中注册所有变量

  14. 14

    单个CollectionView中两个具有不同尺寸的单元格

  15. 15

    Excel-在一个单元格中定义一个公式,以在具有不同输入(如函数)的其他单元格中使用

  16. 16

    保持UITableViewCell在其他单元格的前面

  17. 17

    在其他标签中查找单元格值

  18. 18

    UITableViewCells在其他类型的单元格上显示

  19. 19

    查找多个值,在其他列中串联对应的值,写入单元格

  20. 20

    在以编程方式实例化的Table View Controller中注册单元格

  21. 21

    计算具有某些值的单元格,这些单元格出现在具有其他值的单元格之间

  22. 22

    具有collectionviews的Swift慢速自定义键盘按钮

  23. 23

    Swift 2-将选定的CollectionView单元格置于其他单元格的前面

  24. 24

    单元格的进度条在其他单元格上重复

  25. 25

    在其他单元格的基础上对单元格求和

  26. 26

    查找其他单元格中存在至少具有相同文本的单元格(Excel)

  27. 27

    在Castle Windsor容器中注册多个类型的工厂

  28. 28

    是否可以在多个阶段中注册CXF拦截器?

  29. 29

    在多个DLL中注册常见的Qt元类型

热门标签

归档