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