如何在swift中为下面的屏幕截图调整UITableViewCell的高度

时间:2017-12-21 18:04:07

标签: ios swift

enter image description here

我是swift的新手。我无法动态调整高度uitaleviewcell。 图像&根据条件,可以看到collectionview。单击“按钮”后,将显示以下回复部分。任何人都可以帮助我完成这项任务。谢谢。

2 个答案:

答案 0 :(得分:1)

1-在viewDidLoad

中使用动态tableView
 tableView.estimatedRowHeight = 400;

 tableView.rowHeight = UITableViewAutomaticDimension;

2-不要实现hightforCellAtIndexpath

3-从上到下在单元格xib中正确调整约束

关于collectionview,imageView和reply部分初始给出它们所有的高度约束为零,然后将每个高度约束挂钩为IBOulet并在 cellForRowAtIndexpath 根据当前项目通过更改约束的相应常量值来管理隐藏/显示

返回单元格之前

5-执行此操作

 cell.layoutSubviews()

 cell.layoutIfNeeded()

 return cell

因此可以转发细胞以反映其子视图约束的变化

答案 1 :(得分:0)

你试过这个吗?

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

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

在DidLoad

tableView.estimatedRowHeight = 400

tableView.rowHeight = UITableViewAutomaticDimension

如果仍然未调整尝试在释放单元格后调用布局方法

cell.layoutIfNeeded()
cell.reloadSubviews()