Tableview 没有获取 Xib 文件高度

Tableview not getting Xib files height

我为我的表格视图创建了 3 个自定义 .xib 文件。 但是我不知道如何指定每个单元格的高度。

我已经在 viewdidLoad()

中实现了上面一行
tableview.estimatedRowHeight = 120
tableview.rowHeight = UITableView.automaticDimension

我刚刚在每个 .xib 文件中放置了一个 uiview,其中包含 4 个约束(前导、尾随、顶部、底部)

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        return UITableView.automaticDimension
    }

但是它没有为我的单元格设置正确的高度。

只有当我对值进行硬编码时,它才会起作用。

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        return 200
    }

如何处理这个问题,因为数据很快就会变成动态的,我无法更改这些硬编码值。

UIView默认没有高度值。当你尝试它时,这不会设置单元格的高度。

您可以尝试将 UILabel 或 UIButton 放置在您已设置 4 个约束(前导、尾随、顶部、底部)的 UIView 中。

注意:如果你想要UITableViewCell的自动高度,UILabel或UIButton也需要4个约束(leading, trailing, top, bottom)。

把你的UIView换成UILabel,行数设置为0,然后会根据UILabel的内容自动取高度