ios - swift4:UITableViewHeight 内容高度获取表格的固定高度
问题描述
我正在使用swift4
,我有表格视图和表格视图高度的出口:
@IBOutlet var commentsTableView: UITableView!
@IBOutlet var commentTableHeight: NSLayoutConstraint!
表格返回每个单元格的动态高度
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return UITableViewAutomaticDimension
}
从以下位置获取数据时,我想更改表格视图高度API
:
//// Consum APIs
func getProductDetails() {
API.getProductDetails(category_id: String(self.passed_category_id)) {( error: Error?, success: Bool, products: ProductDetails) in
if success {
self.product = products
self.setProductDetailsValue()
} else {
}
}
}
func setProductDetailsValue() {
if(self.product.comments.count > 0) {
self.commentsTableView.isHidden = false
self.commentsTableView.reloadData()
self.commentsTableView.layoutIfNeeded()
self.commentTableHeight.constant = self.getTableViewHeight(tableView: self.commentsTableView)
print("comment table height: ", self.commentTableHeight.constant, self.getTableViewHeight(tableView: self.commentsTableView))
} else {
self.commentsTableView.isHidden = true
}
}
func getTableViewHeight(tableView: UITableView)-> CGFloat {
tableView.layoutIfNeeded()
return tableView.contentSize.height
}
print 语句打印的值如下:
comment table height: 352.0 624.333324432373
这意味着self.commentTableHeight.constant
取不同的值。我发现每次应用程序给每个单元格 44 pt,但我不知道我的代码有什么问题。有什么帮助吗?
解决方案
view
您必须在更改常量后重新布局
self.commentTableHeight.constant = self.getTableViewHeight(tableView: self.commentsTableView)
self.view.layoutIfNeeded()
print("comment table height: ", self.commentTableHeight.constant, self.getTableViewHeight(tableView: self.commentsTableView))
//
你必须把它放进去viewDidLoad
tableView.estimatedRowHeight = 200; // your estimated height
tableView.rowHeight = UITableViewAutomaticDimension;
推荐阅读
- javascript - 如何使用 express-fileuploader-s3 ?(用于 Linode 中的对象存储)
- asp.net - 使用 asp.NET Core Identity 设置 DropdownList 值
- bytecode - ByteBuddy - 在注释值中传递数组时出错
- mysql - 避免尝试获取锁时发现死锁;尝试在 MariaDB (MySQL) 上重新启动事务 INSERT ON DUPLICATE KEY UPDATE
- python - 在 Python pandas 中使用正则表达式查找组合数字和字母的特定字符序列
- python - Tensorflow 2.0 如何从 Keras 模型中导出预测和训练模式
- python - 无法在 python 中安装 pyaudio 库
- java - 如何在 mac 的 SWT 上处理鼠标坐标?
- angular - 在自定义控件范围内如何访问在反应形式组中声明的验证器?
- python - 绘制连续购买与否之间的月数(分箱)。在 python 中的每个 bin 中落下的客户