ios - TableView 自动维度 Tableview Inside Tableview

标签 ios swift uitableview uitableviewautomaticdimension

我有 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/

相关文章:

ios - 获取设备音量 - 问题

ios - 可以从其他 ViewController 类更改 UILabel 的字体

ios - 为什么要使用 resignFirstResponder()

android - CharlesProxy -Cisco Anyconnect - Android

ios - 调整嵌入 ScrollView 内的网页 View 的大小

ios - UiImagepicker 视频的缩略图

ios - Swift 对成员的引用不明确

swift - 图像的 ScrollView 在自定义表格 View 单元格中不起作用

ios - 如何在 UICollectionView 单元格中获得 1 像素宽度的边框? (提供代码)

ios - wait_fences : failed to receive reply: 10004003 (only on iPad)