ios - swift tableView.contentSize.height iOS 13 和 iOS 11 不同,为什么?
问题描述
我的代码是
paymentTableviewHeight.constant = paymentTableView.contentSize.height
但不同的结果iOS版本。当我在 ios 11 上尝试它时它可以正常工作,但 iOS 13 更短。
解决方案
我已经通过使用以下代码解决了这个问题:
func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
tableView.layoutIfNeeded()
self.tblViewHtConst.constant = self.tableView.contentSize.height
}
调用 tableView.layoutIfNeeded() UITableView 将再次计算 contentSize ,然后您可以将其设置为高度约束。
如果在设置高度约束之前未调用 layoutIfNeeded(),则它会获取在estimatedRowHeight 中设置的值,在我的情况下,它很大,然后实际内容大小和空白空间可见。
推荐阅读
- reactjs - 在带有真实后端的 React 应用程序中添加简单的身份验证
- .net-core - 无法加载 Microsoft.VisualStudio.Coverage.Interop.dll - Azure CI 管道 - YAML
- html - 使用 VBA 单击使用 documentID 的链接
- javascript - 猫鼬 findOneAndUpdate 在 for 循环中使用 set if extist 或 put if doesn't
- java - 带矩阵的文件 IO
- terraform - 在动态块内对多个块进行 Terraform?
- python - 我应该为生产环境禁用 BroswableAPIRenderer 吗?
- rust - 有没有一种内存有效的方法来改变固有实现的行为?
- arrays - 测试数组中的对象数
- cmake - 如何使用 CMake 为目标安装 python 文件(包括依赖目标的 python 文件)?