使用 Storyboard 的 Swift 动态表格视图单元格高度

Posted

技术标签:

【中文标题】使用 Storyboard 的 Swift 动态表格视图单元格高度【英文标题】:Swift, dynamic table view cell heights using Storyboards 【发布时间】:2015-02-25 20:16:09 【问题描述】:

我已经为此苦苦挣扎了一周的大部分时间,我希望得到一些帮助。

我在故事板中有一个单元格,它是 UITableViewCell 的一个子类,称为 EntryCell。我一直在使用自动布局在情节提要中设置约束,所有元素上的所有约束都是蓝色的,lldb 在运行时不会抛出任何错误,因此没有任何重复或不合适的地方。

我下面写着“Journal Entry Here”的标签是一个 UILabel,lines 设置为 0。

ViewDidLoad 下的视图控制器中,我有

    tableView.estimatedRowHeight = 185
    tableView.rowHeight = UITableViewAutomaticDimension

但是当我运行它时,模拟器会显示:

这阻碍了我的整个项目。我已经阅读了许多教程并尝试了它们的实现但无济于事。我目前没有对heightForRowAtIndexPath 做任何事情。我想知道这是问题所在还是其他原因。

任何帮助将不胜感激。谢谢!

【问题讨论】:

你试过这个answer吗? 是的,经历过这个并尝试了很多。我觉得这与我的自动布局有关 【参考方案1】:

您不必使用heightForRowAtIndexPath 来使其工作。 UITableViewAutomaticDimension 不会扩展以适应无限行标签的主要原因是缺少布局约束——这些约束不一定会在控制台中显示为错误。每个 UI 对象都必须从单元格的顶部到底部以及左侧和右侧连续锚定,以使扩展正常工作。如果您认为您已经解决了这个问题并且单元格仍然没有展开,请尝试发布屏幕截图和您的布局限制列表,以便我们进行审核。

【讨论】:

我错过了Journal Entry Here UILabel 的底部约束。一旦我添加了,繁荣。明白了

以上是关于使用 Storyboard 的 Swift 动态表格视图单元格高度的主要内容,如果未能解决你的问题,请参考以下文章

swift项目第五天:swift中storyBoard Reference搭建主界面

使用 Swift 在 MainStoryboard 表视图中显示数组?

iOS/Swift/Storyboard:仅使用屏幕的 *part* 添加 PageViewController?

swift - storyboard(故事版)的使用

Swift:使用 StoryBoard 在 Tableview 上浮动加号按钮

使用 Storyboard 覆盖 Swift 中的菜单