首页 > 解决方案 > Tableview 没有得到 Xib 文件的高度

问题描述

我为我的 tableview 创建了 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
    }

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

标签: iosswifttableviewxib

解决方案


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

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

注意:如果你想要 UITableViewCell 的自动高度,UILabel 或 UIButton 还需要 4 个约束(前导、尾随、顶部、底部)。


推荐阅读