当前位置: 首页 > 知识库问答 >
问题:

iOS自动布局:表格视图单元格的动态高度

周龙光
2023-03-14

我有一个带有一堆单元格的表视图(自定义单元格,它只有它的内容视图)。

中,我正在向自定义单元格的content视图添加一个预定义的UIView(它有几个子视图)。我之前为UIView及其子视图设置了所有约束。

最后但并非最不重要的是,我为我的自定义单元格的内容视图(superview)和UIView设置了垂直和水平约束,UIView是在(subview)之前添加的。

约束字符串如下所示:

    H:|[view]|
    V:|[view]|

不幸的是,我仍然得到所有表格视图单元格的默认高度。我想知道是否有一种方法,让自动布局做计算高度自动根据内容大小。

共有3个答案

宦砚
2023-03-14

我通过在 中使用 解决了这个问题。

刘建中
2023-03-14

自动布局对单元格高度没有帮助。您需要在 中进行设置。我猜你这样问可能是因为你的细胞高度是可变的,而不是固定的。也就是说,它们取决于内容。

要解决这个问题,请预先计算单元格高度并将其存储在数组中。返回 方法中相应的 的值。

确保使用 类的 等计算主线程上的内容大小。

如果您的计算是密集的,那么除了 等与视图相关的方法外,大部分计算都由 完成。

阎辰钊
2023-03-14

查看我对这个问题的详细回答:https://stackoverflow.com/a/18746930/796419

这需要一些工作来进行设置,但是您绝对可以使用自动布局约束来驱动完全动态的表视图,而不需要一个硬编码的高度(并且让约束求解器来完成繁重的任务并为您提供行高度)。

 类似资料:
  • 对于我的表视图单元格的动态高度,我从此链接中引用。在 UITableView 中使用自动布局进行动态单元格布局 这是我的表视图数据源和委托方法的代码 我有 2 个问题: > 我的问题是我在线路附近收到错误 在和。 为什么我必须在单元格中同时写入标签文本“和? 另外,我是否缺少实现单元动态高度所需的任何内容?

  • 我为包含和的自定义单元格创建了一个文件。宽度是固定的,但高度应根据下载图像的大小进行调整。 此外,单元格高度应该调整,以保持它与图像视图之间的边距。 当我读到几篇关于自动布局的文章时,我不太确定我在这里做了什么:(如果有任何错误,请指出正确的方法) > 为了保持和之间的边距,我应该创建一个约束。 前一步是通过选择和>,然后转到编辑器- 到目前为止,假设如果我调整图像视图的高度,单元格会自动调整自己

  • 我在UIViewController中有一个UITableView作为视图的一部分。我正在尝试根据文本的长度自动调整表格单元格的大小。它不会设置textview的文本,单元格将以idCellTextView单元格的标准高度结束。我已经四处搜索过,正在尝试从单元格内的文本视图相对于内容视图和代码在自动布局中使用固定,如下所示: 与问题相关的视图控制器的其余部分显示在以下位置:

  • 我正在 中使用 现在我遇到了表视图单元格高度的问题。我正在聊天屏幕上工作,所以我有文字,图像。所以我在管理屏幕的其中取了一个原型单元。现在下面是我的身高代码 因此,文本单元格没有得到我所期望的,但我不知道我的错误在哪里,还有一件事,如果我< code > returnuitableviewautomaticdimension ,它的工作很好的文本信息,而不是图像。请帮助我,先谢了。

  • 我正在研究具有动态单元格高度的表视图。 由于我的要求,我必须展示40种不同的cell.Each细胞是不同的。 例如。 一个单元有2个标签,一个图像视图另一个单元只有2个图像视图,另一个单元格有5个标签,1个文本视图,2个按钮,2个图像查看 我的问题是我无法静态定义高度。每个单元格中的.labels和textview都基于运行时的文本。因此,根据各个元素,我需要调整高度。所以我根据下面的编码计算了标

  • 场景- > TableView高度是使用纵横比相对于superview的高度动态设置的。 TableViewCell的高度是根据表格视图的高度计算的: 问题 - 最初在委托方法中没有正确计算表格视图高度。但在滚动单元格后正确计算。 尝试的解决方案: 在视图中重新加载。 调用 在单元格中进行. 有什么方法可以正确计算出这个表格的高度吗?