swift tableView.contentSize.height 不同 iOS 13 和 iOS 11 ,为什么?
swift tableView.contentSize.height different iOS 13 and iOS 11 , why?
我的密码是
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 中设置的值,在我的例子中,它比实际内容大小大,空白 space 可见。
我的密码是
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 中设置的值,在我的例子中,它比实际内容大小大,空白 space 可见。