【问题标题】:two collectionView in one page with different data一页中的两个collectionView具有不同的数据
【发布时间】: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跨度>

标签: swift uicollectionview


【解决方案1】:

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

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

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

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

希望这会对你有所帮助。

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-18
      • 1970-01-01
      • 1970-01-01
      • 2015-10-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多