我只是在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
答案 0 :(得分:1)
您需要在此方法中指定高度:
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
if indexPath.row == indexOfExtendedCell {
return 100 // or another height
}
return 44
}