如何动态设置tableview单元格高度?

时间:2018-01-05 12:20:59

标签: ios iphone swift uitableview heightforrowatindexpath

我在Tableview中使用Swift现在我遇到了tableview单元格高度的问题。我正在聊天屏幕,所以我有文字,图片。所以我拿了一个原型单元,我正在管理屏幕。 现在下面是我的高度代码

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
    if msg_type == "Image"  {
        return 150
    }else if msg_type == "Text"{
        return UITableViewAutomaticDimension

    }
}

所以文本单元格没有像我预期的那样得到,但是在这里我不知道我的错误在哪里,还有一件事,如果我return UITableViewAutomaticDimension它正好用于短信,而不是图像。 请提前帮助我。

1 个答案:

答案 0 :(得分:0)

让高度像这样动态

1-把它放在viewDidLoad

     self.tableView.rowHeight = UITableViewAutomaticDimension;
     self.tableView.estimatedRowHeight = 150.0;
在cellForRow返回单元格之前

2-

    cell.layoutSubviews()

    cell.layoutIfNeeded()
在单元格xib或故事板原型中从上到下正确约束3-钩子

所以,它是否包含一个像您想要的固定高度图像的单元格150或多行文本它将正确布局

4-不要实现heightForRowAt