UICollectionView swift 4:在每个部分中添加不同的数据

时间:2018-10-15 03:55:11

标签: swift uicollectionview uicollectionviewcell

如何在每个部分中添加不同的数据。 我想使用UICollectionView而不是使用scrollview。

如何实现?

输出: This will be the output

1 个答案:

答案 0 :(得分:0)

有两种解决方法。

1st。您不会创建不同的部分,因为您可以简单地创建具有不同单元格设计的行。

因此,在此行数据结构将是一个枚举

enum Rows{
    case headerRow(your associated data)
    case descriptionRow(your associated data)
    case FormRow(your associated data)
}

var data : [Rows] = []

extension ViewController : UITableViewDataSource{

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let currentData = data[indexPath.row]
        switch currentData {
        case .headerRow(let associatedData):
            // configure data with cell
            // return headerRow Cell
        case .descriptionRow(let associatedData):
            // same as above
        case .FormRow(let associatedData):
            // same as above
        }
    }

}

第二种方法将使用小节。但是我只建议您在节中有不同的行时使用它。在这种情况下,它几乎是相同的,但是您将节定义为枚举并从此处扩展。