-1

我们在自定义表格视图单元格中显示一些数据,但如果一些标签为空,我们将隐藏标签并在估计的行高中使用 uitableview.automaticdimension 但效果不佳。提前致谢

想象一下我是如何得到我的表格单元的

宣布于

func viewDidLoad() {
    self.cabinetVC.estimatedRowHeight = 260
        self.cabinetVC.rowHeight = UITableView.automaticDimension
    }

    func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
        return UITableView.automaticDimension
    }
}
4

2 回答 2

0

自动尺寸依赖于自动布局来确定单元格的高度。这意味着必须有明确的约束。确保从单元格顶部到单元格底部有约束。

例如:

---------------
       |
   ---------
   | label |
   ---------
       |
---------------
于 2019-01-30T12:12:58.953 回答
0

您应该评论或删除此委托方法,

/*func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {

        return UITableView.automaticDimension
}*/

您已经在 中提供了一些静态值viewDidLoad,这将有助于正确调整 tableView 单元格的大小。

尝试并分享结果。

编辑:对于单元格中的 3x3 标签,您可以执行以下操作:

1)取一个垂直的stackView

2)添加3个水平stackView到它。

3)为每个水平stackView添加3个标签

4) 将 numberOfLines 设置为零

5) 为所有内部 stackViews 和 Labels 设置 equalWidth 约束。

6) 为所有 stackViews 和 Labels 设置前导、顶部、尾随和底部。

这是它的外观。

对于标签,您没有文本 - 将其设置为 nil ,它将被正确处理。

于 2019-01-30T11:48:34.640 回答