UITableView动态高度无法完美运行

时间:2019-05-03 19:31:47

标签: ios swift uitableview

我创建了一个{@ {1}},标题和行的高度是动态的。

  • 首先,单元格的高度为50pt。
  • 开头的标题高度为170pt。

这是我如何重新加载它:

atomize

UITableView功能:

    self.tableQuestion.estimatedRowHeight = 50.0
    self.tableQuestion.relayoutTableHeaderView()
    self.tableQuestion.reloadData()
    self.tableHeightConstraint.constant = self.tableQuestion.contentSize.height + 50
    self.tableQuestion.layoutIfNeeded()

relayoutTableHeaderView功能:

extension UITableView {
    public func relayoutTableHeaderView() {
        if let tableHeaderView = tableHeaderView {
            let labels = tableHeaderView.findViewsOfClass(viewClass: UILabel.self)
            for label in labels {
                label.preferredMaxLayoutWidth = label.frame.width
                label.numberOfLines = 0
            }
            tableHeaderView.setNeedsLayout()
            tableHeaderView.layoutIfNeeded()
            tableHeaderView.frame.size.height = tableHeaderView.systemLayoutSizeFitting(UIView.layoutFittingCompressedSize).height + 30
            self.tableHeaderView = tableHeaderView
        }
    }
}

我的问题是,它看起来像这样:

table scrolling bug

我希望扩展findViewsOfClass的高度,而不是增加滚动。

我该如何解决?

0 个答案:

没有答案