UITableview 单元格高度在 iOS 14.0 中的滚动表视图上发生变化

Posted

技术标签:

【中文标题】UITableview 单元格高度在 iOS 14.0 中的滚动表视图上发生变化【英文标题】:UITableview Cell height is changing on scrolling tableview in iOS 14.0 【发布时间】:2020-10-13 10:07:40 【问题描述】:

UITableview 单元格高度在滚动表格视图中发生变化,我正在为表格视图单元格使用动态高度。

基本上我在聊天屏幕上工作,并使用两个自定义类来处理传入和传出的消息,一切都是动态处理的。

它一直工作到 ios 13 并在 ios 14 上出现问题

在 viewDidLoad 中使用

 self.chatTableView.estimatedRowHeight = 172
    self.chatTableView.rowHeight = UITableView.automaticDimension

并使用

func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat 
    return 44

用于动态高度处理

rest我也试过label上的拥抱属性

override func awakeFromNib() 
  self.layoutIfNeeded()


override func didMoveToSuperview() 
    super.didMoveToSuperview()
    layoutIfNeeded()

在tableview单元格中,但没有看到任何区别

【问题讨论】:

【参考方案1】:

这一定是因为单元格中的数据。如果需要,请尝试删除以下行并给出静态高度,这样高度将始终相同。 self.chatTableView.rowHeight = UITableView.automaticDimension

【讨论】:

我尝试删除此行但得到相同的结果,单元格根据内容具有动态大小,较小的单元格占用较大单元格的大小,较大的单元格占用较小的单元格

以上是关于UITableview 单元格高度在 iOS 14.0 中的滚动表视图上发生变化的主要内容,如果未能解决你的问题,请参考以下文章

具有自动布局的 UITableView 中的动态单元格高度

uitableview 自动布局自定义单元格导致额外高度

UITableView 动态单元格高度在过渡或旋转时中断

当单元格高度为动态时设置 UITableView 的高度

iOS:UITableView 选择性触摸

通过单元格重用错误绘制的 UITableView 分隔符?