gpt4 book ai didi

ios - TableView 自动维度 Tableview Inside Tableview

转载 作者:搜寻专家 更新时间:2023-10-31 19:36:24 29 4
gpt4 key购买 nike

我有 Tableview 用于显示客户下的食品订单。其中包含水平 UIStackview。在 UIStackView

UIStackview 中很少有一/两行标签和一个用于显示订单项的UITableView。内 TableView 具有固定的高度常量(大于或等于 + 750 优先级)并且将是随内容大小而变化。高度和滚动禁用。

内 TableView 有两个标签。而heigh是自动维度

我希望主 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()

}
}

问题:当我滚动主 TableView 时,它没有根据子项正确调整大小。而最初它显示正确。

我几乎已经尝试过像 layoutIfNeeded 这样的一切。布局 subview 。设置需要显示。

我也实现了 willDisplayCell 但没有成功。

我认为问题出在我重新加载内部 TableView 时。当它完成重新加载时,我如何通知主 tableview 以及如何更新内部 tableview 的高度常量

如果有人需要更多信息,请告诉我。

我感谢任何帮助或建议

最佳答案

在 main 和 inner tableViews 的 cellForRowAt 结束之前添加这两行

  cell.layoutSubviews()

cell.layoutIfNeeded()

return cell

您也可以尝试在主单元格子类中添加 layoutSubviews 方法并执行此操作

  self.tblOrderMaster.layoutIfNeeded()

并在主 tableView 的 Controller 的 viewDidLayoutSubviews 中执行此操作

  self.tblOrders.layoutIfNeeded()

关于ios - TableView 自动维度 Tableview Inside Tableview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48031969/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com