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

基于动态高度的表格视图单元格高度表格高度问题

孔君浩
2023-03-14

场景-

>

  • TableView高度是使用纵横比相对于superview的高度动态设置的。

    TableViewCell的高度是根据表格视图的高度计算的:

     func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
             return tableView.frame.height/2
     }
    

    问题 -

    最初在委托方法中没有正确计算表格视图高度。但在滚动单元格后正确计算。

    尝试的解决方案:

    1. 在视图中重新加载视图Did布局子视图()
    2. 调用单元格.layoutSubViews() 在单元格中进行项和索引路径.

    有什么方法可以正确计算出这个表格的高度吗?

  • 共有2个答案

    姜飞飙
    2023-03-14

    Friend在vc中声明CGRect。h文件

    CGRect tblFrame;
    

    然后在vc.m viewDidLoad:方法中将tableView框架设置为tbleFrame,

    tblFrame = self.tableView.frame;
    

    然后

    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
                 return tblFrame.size.height/2
        }
    
    华季同
    2023-03-14

    在返回< code >返回tableView.frame.size.height/2之前,请试用< code > table view . layoutifneed()

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

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

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

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

    • 我正在设计一个具有滚动视图的页面,其上方是表格视图(禁用滚动)。为此,我在这个问题中提到了答案 - 使UITableView不可滚动并调整高度以容纳所有单元格,但没有成功。 视图层次结构以及提供的约束- -主视图 -滚动视图< br >固定在主视图的所有边上(0,0,0,0),限制边距 -内容视图 固定到滚动视图(0,0,0,0),与主视图宽度相等,与主视图高度相等(优先级-250) -内容视图中

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