Self-sizing table 查看包含标题和详细信息字段的单元格

Self-sizing table view cell with title and detail fields

我正在尝试创建一个 UITableView,其中单元格的大小会自动调整为每个单元格中内容的大小。我已经看到了很多关于此的其他问题,但它们主要处理只有标题标签的单元格。当我只有一个标签时,调整大小有效,但是当我使用具有 "right detail" 样式的单元格时,我又遇到问题了。

This is what my view looks like.

我尝试将标题和详细信息标签都设置为 0 行,这样它们都可以自行调整大小,但出于某种原因,这并没有调整实际 tableView 单元格的大小。

您需要为单元格中的两个标签设置正确的约束。确保您的标题标签对内容视图具有左上约束和上约束,以及对详细信息标签的右约束。确保详细信息标签对内容视图具有顶部、右侧和底部约束。

然后在您的代码中,您需要为每个单元格设置高度。使用此功能。

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

此处 UITableViewAutomaticDimension 将使单元格高度调整为标签的内容高度。

注意:将详细信息标签的 numberOfLines 保留为 0