在UITableViewCell中添加UITableView。 TableView基于内容的高度制作

时间:2017-03-01 10:31:28

标签: iphone swift autolayout xib

我创建了UITableViewCell,其中包含以下层次结构

的UITableViewCell ------ ContentView ------------滚动型 ------------------的TableView

停止在TableView上滚动。

我已经在自定义类中采用了TableView的高度约束,其中实现了表的委托和数据源。

到目前为止,只有一个问题可以看到数据。 [表高度固定,通过xib的约束设置为50 px]

现在在willDisplay调用中我正在更新高度约束到tableview的内容大小。但这并没有立即更新。滚动表格后,查看显示更新高度的表格。

已经调试了约束的常量,该常量正确显示但是UI显示旧的高度虽然我在tableview上调用了reloadData。这里遗失的任何东西......

GitHub链接:https://github.com/sagarmane19/Sample-Apps

1 个答案:

答案 0 :(得分:4)

1.使用以下覆盖为内部tableView创建自定义类:

class InnerTableView: UITableView {
    override var intrinsicContentSize: CGSize {
        return self.contentSize
    }
}

2.在视图控制器的UITableViewAutomaticDimension方法中返回heightForRow

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
    return UITableViewAutomaticDimension
}

3.确保您对单元格内topbottomtableView个限制。