我们的 UITableView 存在于 ViewController(而不是 TableViewController)上。我们在运行时用两行填充它。当我们设置高度限制时,表格看起来很好。当我们不设置高度约束时,表格完全不会出现。如何设置 UITableView 以动态设置其高度?
我见过关于动态设置行高(效果很好)但不是关于实际表格高度的帖子。关于这个特定点有几个线程,但似乎没有一个对我有用。
解决方案更新:正如 Robotic Cat 建议的那样,我们在 Storyboard 中的 UITableView
上设置了高度限制(我们已经有了),然后按 Ctrl 拖动来创建我们 Controller 中的 IBOutlet
。从那里我们根据 Vignesh 的回答在 viewWillAppear
中执行了以下代码:
tableViewHeightConstraint.constant = tableView.contentSize.height
请注意,在执行上述代码之前,我们将在同一方法中调用 reloadData()
来填充我们的表。
最佳答案
我们没有 UITableView 的自动尺寸,它们只影响 UITableViewCell 的高度。如果要动态设置 TableView 高度,我认为最好的方法是在 TableView 加载完成后将 TableView 高度约束设置为等于其内容大小。我的意思是,
tableViewHeightConstraint.constant = tableView.contentSize.height
关于iOS:在 Swift 中动态设置 UITableView 高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42794557/