gpt4 book ai didi

ios - 带有多个内衬标签的 estimatedRowHeight 导致单元格剪裁

转载 作者:行者123 更新时间:2023-11-28 07:20:29 26 4
gpt4 key购买 nike

一些背景:我有一个嵌套的 tableView,其中我可以有不同类型的单元格,从 map 到图像再到键值对等等,所以我不得不使用嵌套的 tableView,这很难通过节行结合来实现

我正在使用自动调整大小的单元格。

在我的parentTableView中我设置了

parentTableView.rowHeight = UITableViewAutomaticDimension
parentTableView.estimatedRowHeight = 200

在我的 childTableView 中,我设置了

childTableView.rowHeight = UITableViewAutomaticDimension
childTableView.estimatedRowHeight = 68.0

这里 68.0 是我的单元格大小,它是一个自定义 XIB,在垂直方向上有两个 UILabel。现在当标签不是多行时,tableView 看起来很好。但是当我向标签添加多行时,单元格会被剪裁

enter image description here

但是,当我增加 estimatedRowHeight 以表示更大的值(如 80)时,它不会被裁剪但会显示内容并在末尾添加一些额外的空白

我认为正在发生的事情是,它会查看 estimatedRowHeight 值和要显示的单元格数量,并据此计算父单元格大小。当出现多行标签时,它会增加单元格的大小,但父单元格的大小已经定义,因此它会被剪裁

任何人都可以帮我解决我已经尝试了很多修复但没有任何效果。

最佳答案

首先我建议大家避免嵌套tableView的概念。重新加载时可能会遇到故障问题,当数据很大时,可能会导致 UI 阻塞。

来到解决方案,请尝试以下解决方案:- 根据您的要求向除最后一个 UILabel 之外的每个元素添加约束。- 添加顶部和底部约束(强制)以及任何其他约束(如果需要)。它将帮助单元格了解该单元格的运行时高度。- 在 tableViewCell(_ heightforrow) 方法中,将高度作为返回值

UITableViewAutomaticDimension

func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat { 返回 UITableView.automaticDimension

关于ios - 带有多个内衬标签的 estimatedRowHeight 导致单元格剪裁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58337582/

26 4 0