如何增加UItableviewcell内的UItableview高度?

时间:2019-04-18 13:55:45

标签: ios swift uitableview

我只是在UITableview内创建UITableview(第二UItableviewcell)。我需要根据第二个UITableview单元格的数量(第二个UItableviewcell单元格的高度不同)来增加UITableview's的高度。

第一个表格视图:

extension ViewController:UITableViewDelegate, UITableViewDataSource{
   // no of row #1
   func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
      let cell = tableView.dequeueReusableCell(withIdentifier: "OrderTimelineCell", for: indexPath) as! OrderTimelineCell
      return cell;
   }
}

第一个表格视图单元格:

override func awakeFromNib() {
   tableView.layoutIfNeeded()
   tableView.heightAnchor.constraint(equalToConstant: tableView.contentSize.height).isActive = true //always return 44*#cells
}
extension OrderTimelineCell:UITableViewDelegate, UITableViewDataSource{
   func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
      let cell = tableView.dequeueReusableCell(withIdentifier: "TimelineTableViewCell", for: indexPath) as! TimelineTableViewCell
      cell.label.text = array[indexpath.row] // text height different
      return cell
   }
}

我希望输出显示第一个UITableview单元内第二UITableview的所有单元格。

但实际输出是像元高度==#像元数* 44

1 个答案:

答案 0 :(得分:1)

您需要在此方法中指定高度:

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
    if indexPath.row == indexOfExtendedCell {
         return 100 // or another height
    }
    return 44
}