单元格中的标签高度不会动态更改高度

时间:2019-07-02 10:00:45

标签: ios swift uitableview autolayout label

我有一个带有几个初始标签的单元格。标签之一是一个问题。我的应用程序有不同长度的不同问题。因此,我需要我的标签具有动态高度。我想通过自动布局实现这一点。当我使用当前的自动布局运行应用程序时,它不会改变高度(参见图片)。我不确定自己在做什么错。我将标签的行数更改为0,并添加了:

tableView.estimatedRowHeight = tableView.rowHeight
tableView.rowHeight = UITableView.automaticDimension

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

到我的viewDidLoad(),但是它不会更改标签的高度。奇怪的是,当视图更改为另一个视图时,它将改变高度。查看事物的Youtube链接以查看我在说什么:Youtube video。将视频的速度更改为最慢的速度以查看最佳效果。视频发生在大约0:04秒。

约束: Auto layout

AutoLayout

设备上的标签:

Label on device

自动标签约束:

Autor label

Bannerview约束:

Banner view contraints

2 个答案:

答案 0 :(得分:1)

tableViewCell首先根据height label'stext,即 正在加载... < / p>

一旦您收到Questions的{​​{1}}响应,以反映Firebase tableViewCell's及其content中的变化,则需要重新加载整个height,即

tableView

在收到 API响应之后,并在更新tableView.reloadData() 使用的dataSource之后,调用上述代码。

答案 1 :(得分:0)

添加有关该大小调整标签的超级视图的所有约束。 也使用

label.numberOfLines = 0
label.lineBreakMode = .ByWordWrapping