QMUI_iOS
QMUI_iOS copied to clipboard
全面屏设备横屏下 QMUICellHeightCache 计算高度错误
Bug 表现
RT, 见下图,第一个cell的时间label已经超过了cell。
截图

如何重现
QMUIDemo添加测试数据::1234567890-1234567890-1234567890-1234567890-1234567890-1234567890-1234567890
见截图

可能原因
QMUICellHeightCache计算的contentWidth和实际cell content view width不一致,这样sizeThatFits里面label计算的所有高度和实际布局的高度是不一致的,最终计算的整个cell高度有误,如下图:

其他信息
- 设备: 模拟器 iPhone X
- QMUI 版本: [4.0.4]
在 iOS 11 及以后,如果 UITableView.insetsContentViewsToSafeArea 为 YES(默认即为 YES)的情况下,QMUICellHeightCache 组件无法拿到准确的 cell 内容宽度(一般指满屏宽减去左右两个 safeAreaInsets 的值),这个问题比较麻烦,后续看如何解决。