UITableView动态分组单元格

时间:2016-06-07 10:24:26

标签: xcode swift uitableview

我已使用静态单元格和分组样式创建此设置tableview

enter image description here

我想重新创建相同的tableview,但这次我想使用动态单元格。我知道如何使用动态单元格,但我不知道如何使用不同的标题设置不同的部分。

我需要4个部分(状态,队列,类型,严重性),每个部分都有无限数量的单元格(数字显然等于数据数组的长度)。

有人可以发一个完整的例子吗?我找不到任何可以帮助我的文件。

2 个答案:

答案 0 :(得分:2)

以下是代码TableViewDemo您基本上必须使用以下两种方法。

 override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
    return 4
}

这是标题的标题 -

override func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
    return "title" // Use the titleForHeaderInSection index
}

BR

答案 1 :(得分:1)

您必须使用numberOfSectionsInTableViewnumberOfRowsInSectiontitleForHeaderInSectioncellForRowAtIndexPath

let section = ["section1", "section2"]
let cellsInSection = [["section1cell1", "section1cell2"], ["section2cell1", "section2cell2"]]

override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
    return section.count
}

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return cellsInSection[section].count
}

override func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
return section[section]
}

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

    if indexPath.section == 0 {

        let cell = tableView.dequeueReusableCellWithIdentifier("section1", forIndexPath: indexPath) as! SectionOneTableViewCell

        return cell
    } else if indexPath.section == 1 {

        let cell = tableView.dequeueReusableCellWithIdentifier("section2", forIndexPath: indexPath) as! SectionTwoTableViewCell
        return cell
    }
}