我有 Tableview 用于显示客户下的食品订单。其中包含 Horizontal UIStackview
。在UIStackView
UIStackview
里面很少有一个/两个内衬标签和一个用于 UITableView
显示 orderItems 的标签。内部 tableview 具有固定的高度常数(大于或等于 + 750 优先级),并将随内容大小而变化。高度和滚动禁用。
内表视图有两个标签。高度是自动尺寸
我希望主 tableview 单元格高度应该根据内部 tableview 项目自动增加。所以我申请主tableview
self.tblOrders.rowHeight = UITableViewAutomaticDimension
self.tblOrders.estimatedRowHeight = 45
和在 tableview 单元子类中
override func awakeFromNib() {
super.awakeFromNib()
self.tblOrderMaster.dataSource = self
self.tblOrderMaster.delegate = self
self.tblOrderMaster.estimatedRowHeight = 45
self.tblOrderMaster.rowHeight = UITableViewAutomaticDimension
self.selectionStyle = .none
self.layoutIfNeeded()
self.tblOrderMaster.isScrollEnabled = false
}
内部 tableview 数据源数组
var orderData:[ODOrderDataMaster] = [] {
didSet {
self.tblOrderMaster.reloadData()
self.layoutIfNeeded()
self.const_Height_tblOrderMaster.constant = self.tblOrderMaster.contentSize.height
self.layoutIfNeeded()
}
}
问题:当我滚动主表视图时,它没有根据子项正确调整大小。虽然最初它显示正确。
我几乎尝试过所有类似 layoutIfNeeded 的方法。布局子视图。设置需求显示。
我也实现了 willDisplayCell 但没有成功。
我认为问题是当我重新加载内部表格视图时。当它完成重新加载时,我如何通知主 tableview 以及如何更新内部 tableview 的高度常数
如果有人需要更多信息,请告诉我。
我感谢任何帮助或建议