如何在单个视图中混合静态和动态表

时间:2016-07-16 03:26:52

标签: ios uitableview

将表视图与动态内容以及静态表格单元结合使用的方法是什么,如下面的视图(任何示例代码都受到赞赏但不是必需的)。为了便于学习,我想听听您如何构建以下每个屏幕:

1 个答案:

答案 0 :(得分:0)

尽可能不要将静态细胞和动态细胞一起使用。这是一个不好的做法。这是因为,当您使用静态单元格时,tableView的dataSource设置为静态,并且根本无法更改。

但是,有一个黑客。而且,您可以同时使用静态和动态单元格。但是,你必须非常小心这样做,否则你的应用程序可能会崩溃。

待办事项清单:

<强> 1。覆盖     cellForRowAtIndexPath方法。

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

  // For static section i.e. 0 index 
  if indexPath.section == 0 {
    // This returns the static cells
    return super.tableView(tableView, cellForRowAtIndexPath: indexPath)
  } else {
    // This gives your dynamic cell
    let cell = myDynamicCell()
    return myDynamicCell
  }
}

这里,myDynamicCell()方法是您自己创建动态单元格的方法。 此时您无法使用原型单元格,因为您已经选择了静态单元格。因此,您必须通过代码创建单元格。

注意:

请记住,您正在搞乱静态数据源。如果此时出现任何错误,Apple自行负责。

此外,此过程非常危险,尝试使用动态单元格,然后将第一部分动态设置为静态。而且,休息会很容易。这是最好的方法。我会推荐这种方法,但上述方法至今仍会有效,至少在创建新单元时是这样。