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

UITable查看单元格动态高度隐藏元素在 Swift 中占用空间?

严曜文
2023-03-14

这是这样的场景:我有一个表格,其中有具有动态高度的单元格。在每个单元格中,我都有一个标签和一个开关。当我运行应用程序时,只能看到这两个,但然后我将开关设置为true,然后在这两个元素下出现一个(隐藏的?)文本视图,使单元格的高度更大。

我该怎么做呢?因为当我尝试隐藏元素时,也会出现。

我该怎么做?我尝试使用新的堆栈视图,它可以很好地处理它,但不是在表格单元格中。

我如何解决这个问题?

共有3个答案

严烨
2023-03-14

如果隐藏文本视图,则文本视图仍然存在,文本长度与未隐藏的长度相同。

因此,与其隐藏/显示文本视图的文本,不如从“”更新文本视图的文本 -

在这种情况下,自动布局可以轻松处理您的查询。您只需要设置

self.tableView.estimatedRowHeight = 65 //whatever number
self.tableView.rowHeight = UITableViewAutomaticDimension

在单元xib/故事板中,在文本视图的topbase上添加约束,也不要忘记使文本视图不可滚动。

实际上,我建议你简单地使用UILabel而不是UITextField,你只需要将标签行号设置为0,你可以忽略文本视图的滚动和大小设置

何聪
2023-03-14

我认为可以使用约束来解决:
-设置文本视图的高度约束,
-在视图控制器中为该约束创建出口,
-在使用开关时更改视图控制器中约束的常量属性。

孙正业
2023-03-14

我混合了这个答案解决了它:对于动态高度的UITableView单元格(Swift)的动态高度问题,然后对于显示或不显示的视图,我向视图添加了一个高度约束,然后在单元格上ForRowAtIndexPath只需将约束的常量设置为0(如果需要隐藏它)或高度(如果显示它)。

希望有帮助!

 类似资料:
  • 我有一个,其中包含使用自动布局在故事板中定义的自定义。单元格有几个多行。 似乎可以正确计算单元格高度,但对于前几个单元格,标签之间的高度没有正确划分。滚动一点后,一切都按预期工作(即使是最初不正确的单元格)。 有没有什么我可能会遗漏的,导致自动布局在最初的几次无法完成它的工作? 我创建了一个示例项目来演示这种行为。

  • 可变长度的文本数据正在注入到表视图单元格标签中。为了正确调整每个单元格高度的大小,我在中实现了: 这估计高度为88.0像素,如果更大,应该会自动调整高度大小。它非常适用于尚未滚动到的单元格(因为在滚动到单元格时被调用),但不适用于最初在加载数据时在屏幕上呈现的单元格。 我尝试过重新加载数据(正如许多其他资源中建议的那样): 在这两个和,它没有帮助。我迷路了…有人知道如何渲染最初在屏幕上加载的单元格

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

  • 问题内容: 我需要获取隐藏的div内的元素的高度。现在,我显示div,获取高度,然后隐藏父div。这似乎有点愚蠢。有没有更好的办法? 我正在使用jQuery 1.4.2: 问题答案: 您可以做这样的事情,但是有点笨拙,请忘记它是否已经是绝对的:

  • 我有一个动态表视图。表视图单元格原型如下所示: "------------------" 标签 段控(yes|no) text View "------------------" 我的问题是我如何隐藏并显示text View,tableView可以自动调整其单元格高度 这是我的tableViewCell类: 这是我的表格View cellForRowAtIndex: 问题 - 包含问题文本的数组

  • 问题内容: 使用jQuery 动态创建隐藏的 输入 表单字段的最简单方法是什么? 问题答案: 要回答第二个问题: