Ios 是否可以在UICollectionView下拥有UITableView?

Ios 是否可以在UICollectionView下拥有UITableView?,ios,swift,uitableview,uicollectionview,Ios,Swift,Uitableview,Uicollectionview,长话短说。我有一个ViewController,它有一个CollectionView,它是页面的主要组件。CollectionView有两个可重复使用的单元格:页眉和页脚。我希望在页脚内有一个TableView,但这是不可能的。当我尝试连接TableView时,出现以下错误: “非法配置:从ViewController到UITableView的tableView出口无效。出口无法连接到重复内容。” 我的建议是,我想以一种完全错误的方式实现这一点 我希望实现以下目标: 我假设您确实像这样注册了页脚

长话短说。我有一个ViewController,它有一个CollectionView,它是页面的主要组件。CollectionView有两个可重复使用的单元格:页眉和页脚。我希望在页脚内有一个TableView,但这是不可能的。当我尝试连接TableView时,出现以下错误:

“非法配置:从ViewController到UITableView的tableView出口无效。出口无法连接到重复内容。”

我的建议是,我想以一种完全错误的方式实现这一点

我希望实现以下目标:


我假设您确实像这样注册了页脚/页眉笔尖:

segmentCollectionView.register(UINib(nibName: /* CellNibName */, bundle: nil), forSupplementaryViewOfKind: UICollectionView.elementKindSectionFooter, withReuseIdentifier: /* CellId */)
然后像这样把细胞排出来

func collectionView(_ collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, at indexPath: IndexPath) -> UICollectionReusableView {
    if kind == UICollectionView.elementKindSectionFooter {
        let cell = collectionView.dequeueReusableSupplementaryView(ofKind: kind, withReuseIdentifier: /* CellId */, for: indexPath) as! /* Your Class */
    } 
    else {
    }
}
  • 因此,诀窍是在注册的cell类中作为页脚,您可以转到xib文件并在引用/*您的类中添加
    UITableView
    */
  • 链接单元格类中的
    UITableView,而不是包含
    UICollectionView的UIViewController
    类`
  • 然后,当您将单元出列并在单元类内执行所有业务时,传递所需的数据
[已解决]

解决方案如下:我为页脚创建了一个CollectionReusableView文件,当时@karem_gohar说我传递了以下内容:

footer.tableView.delegate=footer.self footer.tableView.dataSource=footer.self

我将tableView连接到CollectionReusableView,制作了一个数组来测试它,并用数组的元素填充tableView


注:我制作了一个TableViewCell并将一个标签链接到它。标签显示了数组的元素。

也许这是有帮助的:@richard我建议您使用单独的tableView和collectionView以获得更好的体验,即使您可以用自己的方式实现这一点,但这可能会有些棘手和困难。@ShivJaiswal我想使用这种方法,因为我想拥有一个动态增长的collectionView(项目编号)+我想要一个滚动页面。@richardtulkan哦..那么我建议您在tableView中使用collectionView,与之相比,使用collectionView有点容易。@richardtulkan-您应该能够使用“普通”页面
ui视图
,将表视图作为子视图,将集合视图作为页脚视图,而不是可重用视图。这样它就不会重复内容,您应该能够正确连接表视图。难以置信,但我解决了它。与您说的不完全一样,但因为您,非常感谢您的时间和努力,我欠您的u、 @karem_gohar@richardtulkan不客气,只要确保当你有了知识可以将其传递给其他人即可:-)