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

动态高度表格视图中的滚动视图

史高阳
2023-03-14

我正在设计一个具有滚动视图的页面,其上方是表格视图(禁用滚动)。为此,我在这个问题中提到了答案 - 使UITableView不可滚动并调整高度以容纳所有单元格,但没有成功。

视图层次结构以及提供的约束-

-主视图

-滚动视图< br >固定在主视图的所有边上(0,0,0,0),限制边距

-内容视图

固定到滚动视图(0,0,0,0),与主视图宽度相等,与主视图高度相等(优先级-250)

-内容视图中的表视图

滚动已禁用,各边间距为50磅,高度(

现在,当我填充我的表视图时,我将代码用作

 func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
    {
        let cell = tableview.dequeueReusableCellWithIdentifier("cellreuse", forIndexPath: indexPath) 
        cell.textLabel?.text = name[indexPath.row]

        tableview.frame.size = tableview.contentSize

        return cell
    }

因此,当我运行我的代码时,它会增加表视图框架,但不会扩展内容大小,这变得很奇怪,因为我的滚动视图不会滚动到表视图的末尾,我的表视图也不遵守自动布局约束。

共有2个答案

松铭
2023-03-14
  1. Assign a table height. Let it be constant 0.
  2. Just add below lines.
    tableView.heightConstant.constant = CGFloat.greatestFiniteMagnitude
    tableView.reloadData()
    tableView.layoutIfNeeded()
    tableView.heightConstant.constant = tableView.contentSize.height
    

    有了这个,就可以轻松实现动态的桌子高度。在做iOS 13,Swift 5。

云洋
2023-03-14

只是我需要这样做 -

>

  • 删除该行 - 表视图.框架.大小 = 表视图.内容大小

    为表格视图添加高度约束。

    将优先级设置为高

    创建高度约束的出口(Ctrl Drag)。

    如果需要重新加载表中的数据,请将高度约束设置为tableview的内容高度。

    tableHeightConstraint.constant = tableview.contentSize.height
    

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

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

    • 我的TableView包含一些数字数据。当我说按按钮编辑值时,它会将单元格的背景更改为绿色。当没有足够的行使表格可滚动时,这种方法很有效。一旦表格变成(或从一开始就是)可滚动的,它就会开始表现出怪异的行为。它会更改已编辑项目的背景,但也会更改在向下滚动之前不可见的项目的背景。然而,当我调试时,更改背景的代码只被调用一次。我认为它与tableview有关,当is scrollable破坏并重新创建单

    • 我有一个带有一堆单元格的表视图(自定义单元格,它只有它的内容视图)。 在 中,我正在向自定义单元格的content视图添加一个预定义的UIView(它有几个子视图)。我之前为UIView及其子视图设置了所有约束。 最后但并非最不重要的是,我为我的自定义单元格的内容视图(superview)和UIView设置了垂直和水平约束,UIView是在(subview)之前添加的。 约束字符串如下所示: 不幸

    • 我有一个具有动态高度的表视图与其他具有动态高度的UI组件一起在表视图中 数据,模型在这里.. 单元格子视图。。 这是内部tableView及其约束! 构造器

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