UITableView

时间:2016-03-08 15:33:14

标签: ios swift

我的ViewController中有多个tableview,每个tableview都有不同的行数,请看下图: enter image description here

有没有办法根据行数来匹配tableview的高度?

2 个答案:

答案 0 :(得分:4)

在视图控制器中,输入类似以下内容的代码:

override func updateViewConstraints() {
    super.updateViewConstraints()
    tableViewHeightConstraint.constant = tableView.contentSize.height;
}

tableViewHeightConstraint@IBOutletNSLayoutConstraint的位置。显然,对于多个表视图,您需要引用多个高度约束,因此对于您想要的每个表视图,您只需在updateViewConstraints中有一行。

这种技术的优点在于它将所有表格视图的内容都考虑在内。它处理分组,自动细胞高度等。

答案 1 :(得分:0)

您必须确定您拥有的单元格数,然后覆盖

func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
  return CGRectGetHeight(self.tableView.bounds) / self.tableView.numberOfRowsInSection(indexPath.section)  
}
不过,我认为使用标题单元格比实现多个表格视图更好。