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

标签 ios swift uitableview

我们的 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/

相关文章:

ios - objective-c (ipad)dismissViewControllerAnimated不工作

iphone - 如果我重写一个类方法,有没有一种方法可以调用原始方法(被重写的方法)?

ios - 使用 UIScrollView 的垂直分页

仅当从 Xcode 运行时,Swift 包调用/usr/bin/swift 时出现 `Failed to open macho file...Too many levels of symbolic links` 错误

swift - 如何用操纵杆移动 Sprite ?

ios - 不懂tableview的减速率

ios - 如何从 UITableView 获取可见的顶行

ios - PresentViewController(UIViewController) 不工作

ios - 将渐变效果应用于模糊 View

iphone - NSInternalInconsistencyException(行数无效)