一页中的两个collectionView具有不同的数据
Posted
技术标签:
【中文标题】一页中的两个collectionView具有不同的数据【英文标题】:two collectionView in one page with different data 【发布时间】:2018-04-25 19:04:23 【问题描述】:您好,我在首页有两个集合视图,如何处理这两个集合视图。
如何处理函数“NumberIteminSection”和“cellForItemAtIndex”中的两个collectionView 不知道在一个函数中处理两个collectionView? 如果有更好的方法请告诉我
【问题讨论】:
为UICollectionView
和cellForItemAtIndex:
中的每一个创建一个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具有不同的数据的主要内容,如果未能解决你的问题,请参考以下文章