多个UITableViewCell类型以编程方式

时间:2018-01-19 17:06:15

标签: ios uitableview

我正在以编程方式在Swift 4中编写应用程序。

我想创建一个包含UITableView的设置页面,但是其中的行将包含不同类型的内容。

例如,我喜欢一个有滑块的行,一个有uiswitch的行,一个包含文本输入的行等等。

我想这样做的方法是为我想使用的每种类型的单元创建一个自定义单元类?

但是,目前我正在创建我的单元格:

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: cellID, for: indexPath) as! CustomCell
    cell.rowContent.text = items[indexPath.row]
    cell.tableViewController = self
    return cell
}

我怎样才能根据它的内容低估我的细胞?

1 个答案:

答案 0 :(得分:1)

看起来你正在尝试做一个表单,如果是这样我建议Eureka

否则您注册了单元格,然后根据索引或您喜欢的任何其他因素将您选择的单元格取消:

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    switch indexPath.section{
    case 1:
         let cell = tableView.dequeueReusableCell(withIdentifier: cellID, for: indexPath) as! CustomCell
    cell.rowContent.text = items[indexPath.row]
    cell.tableViewController = self
    return cell 
    case 2:
    let cell = tableView.dequeueReusableCell(withIdentifier: secondCustomcellID, for: indexPath) as! AnotherCustomCell
    cell.rowContent.text = items[indexPath.row]
    cell.tableViewController = self
    return cell
    }

}