我创建了UITableViewCell,其中包含以下层次结构
的UITableViewCell ------ ContentView ------------滚动型 ------------------的TableView
停止在TableView上滚动。
我已经在自定义类中采用了TableView的高度约束,其中实现了表的委托和数据源。
到目前为止,只有一个问题可以看到数据。 [表高度固定,通过xib的约束设置为50 px]
现在在willDisplay调用中我正在更新高度约束到tableview的内容大小。但这并没有立即更新。滚动表格后,查看显示更新高度的表格。
已经调试了约束的常量,该常量正确显示但是UI显示旧的高度虽然我在tableview上调用了reloadData。这里遗失的任何东西......
答案 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.确保您对单元格内top
有bottom
和tableView
个限制。