具有标题和详细信息字段的自调整表格视图单元格

Posted

技术标签:

【中文标题】具有标题和详细信息字段的自调整表格视图单元格【英文标题】:Self-sizing table view cell with title and detail fields 【发布时间】:2019-06-09 21:41:31 【问题描述】:

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

This is what my view looks like.

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

【问题讨论】:

【参考方案1】:

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

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

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

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

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

【讨论】:

不幸的是,内置的 Apple 右侧详细信息单元格不允许使用标题和详细信息标签进行约束。我将尝试制作一个自定义单元格并遵循您的指南。 是的,如果您制作自定义单元格,我相信它会起作用。

以上是关于具有标题和详细信息字段的自调整表格视图单元格的主要内容,如果未能解决你的问题,请参考以下文章

指定“左侧详细信息”表格视图单元格的文本

具有 uitableviewdiffabledatasource 的自调整单元格

仅当在表格视图中选择单元格时,详细信息披露才会做出反应

如何显示特定表格单元格对象的详细信息?

自定义表格单元格未调整大小以适合内容视图

带有复选标记和详细信息披露的表格视图