iOS:在Swift中动态设置UITableView高度

Mar*_*eon 10 uitableview ios swift

我们的UITableView存在于ViewController(而不是TableViewController)上.我们在运行时用两行填充它.当我们设置高度约束时,表格显示正常.当我们没有设置高度约束时,表格完全不会出现.如何设置UITableView动态设置其高度?

我已经看到了关于动态设置行高(这确实很好)的线程,但没有关于实际的表高度.这个特定点上有一些线索,但似乎没有一个对我有用.


更新解决方案:正如Robotic Cat建议我们UITableView在Storyboard中设置一个高度约束(我们已经有了),然后按住Ctrl键IBOutlet在我们的控制器中创建一个.从那里我们viewWillAppear按照Vignesh的答案执行以下代码:

tableViewHeightConstraint.constant = tableView.contentSize.height
Run Code Online (Sandbox Code Playgroud)

注意在执行上面的代码之前,我们reloadData()用相同的方法调用来填充我们的表.

Vig*_*esh 18

我们没有UITableView的自动维度,它们只影响UITableViewCell高度.如果要动态设置表视图高度,我认为最好的方法是在表视图完成加载后将表视图高度约束设置为等于其内容大小.我的意思是,像

tableViewHeightConstraint.constant = tableView.contentSize.height
Run Code Online (Sandbox Code Playgroud)