一页中的两个collectionView具有不同的数据

Posted

技术标签:

【中文标题】一页中的两个collectionView具有不同的数据【英文标题】:two collectionView in one page with different data 【发布时间】:2018-04-25 19:04:23 【问题描述】:

您好,我在首页有两个集合视图,如何处理这两个集合视图。

如何处理函数“NumberIteminSection”和“cellForItemAtIndex”中的两个collectionView 不知道在一个函数中处理两个collectionView? 如果有更好的方法请告诉我

【问题讨论】:

UICollectionViewcellForItemAtIndex:中的每一个创建一个IBOutlet,并且所有其他数据源方法都应该有一个参数UICollectionView,例如在numberOfItemsInSection:if collectionView == myFirstCollection return numberOfItemsInFirstCollection else //it's mySecondCollectionView return numberOfItemsInSeconCollection跨度> 【参考方案1】:

您还可以使用标签处理多个集合视图。您可以为每个 Collectionview 赋予不同的标签值。

从情节提要的属性检查器字段中分配不同的标签值,如下图所示。

然后在委托或数据源方法中,您可以检查如下所示的条件。

func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int 
        if collectionView.tag == 1
            return 20
        else
            return 10
        

希望这会对你有所帮助。

【讨论】:

【参考方案2】:

正如 Larme 在他的评论中所说,您可以编写数据源和委托方法以使用 if 语句来检查哪个集合视图正在请求数据。

或者,您可以创建一个单独的(模型)类作为集合视图的数据源/委托,并将每个集合视图连接起来以指向模型类的不同实例。

【讨论】:

以上是关于一页中的两个collectionView具有不同的数据的主要内容,如果未能解决你的问题,请参考以下文章

word中一页中添加两种不同的页码

Ace Editor 可以在一页中支持多个代码编辑器吗?

引导表中的表多重排序不适用于一页中的多个表

Zend Form - 一页中的多个表单和(CSRF)令牌验证

在一页中堆叠 vuetify 元素

我如何在一页中使用多个jquery版本[重复]