Swift UICollection查看每行不同数量的单元格

时间:2018-07-30 00:17:30

标签: ios swift uicollectionview

如何有一个UICollection视图,第一行有一个单元格,第二行有三个单元格?

我想在第一行中显示一张图片,并在其下方显示3张图片。

2 个答案:

答案 0 :(得分:0)

您需要使用collectionView的Datasource方法的部分编号来指定在collectionview中需要多少部分。在该部分中,您可以传递要显示的单元格数。在项目的单元格中,您可以根据区域和项目值设置数据。

尝试这样。

func numberOfSections(in collectionView: UICollectionView) -> Int {
    return 3 // you can return as per your requirement
}


 func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {

    if section == 0 {
        return 2 // number of cell you want to display in each section
    }else if section == 1 {
        return 3 // number of cell you want to display in each section
    }else {
        return 4 // number of cell you want to display in each section
    }
}

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: reuseIdentifierCollection, for: indexPath) as! HomeCollectionViewCell
    return cell
}

答案 1 :(得分:0)

您需要实现自己的自定义布局。默认情况下,集合视图的UICollectionViewFlowLayout会填充水平/垂直网格中的单元格。

您可以使用自己的布局(即实现UICollectionViewLayout的类)来更改此行为。

要开始使用,我建议您查看thisthis教程。