gpt4 book ai didi

ios - 跨多个 UICollectionViewControllers 重用 UICollectionView

转载 作者:可可西里 更新时间:2023-11-01 02:04:22 25 4
gpt4 key购买 nike

我有一个 TableView ,其中每一行都包含一个 collectionView。每个 collectionView 只有一行高并且水平滚动。所以,如果您能想象的话,我有几个水平滚动的旋转木马堆叠在一起。

我看过一些关于此类布局的教程,它们都有一个 UIViewController,它是 UITableView 和所有 UICollectionView 的数据源和委托(delegate)。这允许 viewController 重用 tableView 单元格和其中的 collectionViews。

由于其他一些代码重用方面的考虑,我想以不同的方式构建我的代码。我想要一个管理表的 UITableViewController,然后有一个管理每个 Collection View 的 UICollectionViewController。这确实有效,但因为 UICollectionViewController 包含它自己的 UICollectionView,我不能在用户滚动表格时重用 collectionViews 以显示不同的轮播。

最后我的问题是,您能否注入(inject)或替换 UICollectionViewController 使用的 collectionView,以便我可以跨多个 View Controller 重用 View 。

最佳答案

好吧,我想我已经完成了您的要求。您想要像 AppStore 那样的东西。

让我描述一下我做了什么,我创建了一个自定义 tableViewCell,它有一个 collectionView 作为它的属性,来 self 的 tableViewController我发送我的自定义 tableViewCell。现在重要的是,collectionView 怎么样?所以我想如果我们将 collectionViewdataSourcedelegate 设置为 tableViewCell 会怎么样?它会单独处理所有事情。我已经为我的 tableViewCell 创建了一些 delegate 方法来处理 didSelectcollectionView 的其他事件。这样你就不需要 collectionViewController 只有 tableViewController 和自定义 tableViewCell 就可以了。

如果您感到困惑或需要任何示例代码,请告诉我(如果您需要,我稍后会添加)

编辑

忘记提及您不能将 collectionViewControllercollectionView 注入(inject)到另一个 collectionView

为了重用您的代码,您还可以创建一个类来调用 CollectionViewHandler 并将数据源和委托(delegate)方法添加到该类,并将该类的一个实例分配给单独的 collectionView数据源和委托(delegate)。此处使用 collectionViewController 不适合您的情况。

关于ios - 跨多个 UICollectionViewControllers 重用 UICollectionView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44338050/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com