为什么我的 tableview 行高设置不正确?

Why isn't my tableview row height being set properly?

我正在尝试在 Interface Builder 中创建一个包含图像视图和 3 个标签的动态单元格的 table 视图,但由于某些原因,未设置 table 视图行高正确并且所有内容都被切断。这是唯一的代码:

override func viewDidLoad() {
        super.viewDidLoad()
        self.tableView.rowHeight = UITableViewAutomaticDimension
        tableView.estimatedRowHeight = 100.0

}

我的界面构建器约束与下面 Ray Wenderlich 教程 (http://www.raywenderlich.com/87975/dynamic-table-view-cell-height-ios-8-swift)

中显示的约束几乎相似

这是模拟器输出的示例:

如果有人对我如何解决这个问题有任何见解,我将非常乐意听取您的意见。正如您可能猜到的那样,我正在尝试使单元格高度根据字幕长度扩展(类似于 Twitter),但无济于事:( 谢谢!

更新:现在看起来好多了,但仍然没有随着 UILabel 的扩展而扩展:(

在将您的 UITableView 作为子视图的 UIViewController 中(或者它可以是 UITableViewController)使您的 table 视图单元格高度为“100” too.I 现在认为它是 44?

此外,如果尚未设置,请在 Interface Builder 中将您的子图块的 "Lines" 属性 设置为“0”以使其自动调整大小。

您正在使用估计的行高。您必须使用另一种高度委托方法。它只是行高委托。在 swift.

中使用 objective c 的 heightForRowAtItem 索引版本

解决了!我的约束是正确的,但由于某些奇怪的原因,tableView 没有更新。添加以下代码似乎没问题:

override func viewDidAppear(animated: Bool) {
        tableView.reloadData()
    }

如有更好的建议欢迎留言!