如何创建可以自动调整高度的表格

Posted

技术标签:

【中文标题】如何创建可以自动调整高度的表格【英文标题】:How to create a table whose height can be autoadjusted 【发布时间】:2017-09-29 07:47:55 【问题描述】:

我有一个表格视图,其高度是屏幕的 70%自动调整到 tablerows 内容然后它会很棒但我找不到任何相关的东西。

那该怎么做呢?

【问题讨论】:

***.com/a/46439510/5461400 这是用于行自动高度的。我怀疑整个表格及其自动高度 【参考方案1】:

你可以像下面那样做

IBOutlet 的高度限制为UITableView

你会根据你的数据/行找到tableView的高度

tableView.contentSize.height

现在您需要根据以下条件更改高度限制

if  tableView.contentSize.height < UIScreen.main.bounds.size.height  // Instead of UIScreen.main.bounds.size.height, change as per your requirment

  yourTblHeightConstraints.constant = tableView.contentSize.height
  self.view.layoutIfNeeded()

else 
  yourTblHeightConstraints.constant = UIScreen.main.bounds.size.height // Instead of UIScreen.main.bounds.size.height, change here as you need
  self.view.layoutIfNeeded()
 

【讨论】:

将 self.view.layoutIfNeeded() 替换为 self.view.setNeedsLayout() 如果您在实际应用程序中编写此代码(使用 layoutIfNeeded),有时会出现异常。

以上是关于如何创建可以自动调整高度的表格的主要内容,如果未能解决你的问题,请参考以下文章

如何使用自动调整其高度的 SnapKit 以编程方式创建 UITableViewCell?

SwiftUI 自动调整底页大小

UITableViewCell 自动调整高度不起作用

表格视图的自动高度

创建一个基于 UIView 的子视图自动调整大小的视图

如何快速调整表格视图标题的高度?