【问题标题】:Xcode - Swift - iOS - Expanding TableView Cells Based on Title & Subtitle SizesXcode - Swift - iOS - 根据标题和副标题大小扩展 TableView 单元格
【发布时间】:2015-07-22 06:28:09
【问题描述】:

我有一个使用自定义单元格的 TableView。这些自定义单元格中有三个标签。 UIViewController 看起来像这样:

我试图让它根据标题、位置和时间标签的长度,单元格会相应地扩展。我已将每个标签的行数设置为 0(无限)。 TableView 本身被限制在 ViewController 的侧面和底部,顶部是细蓝色的 UIView。单元格内三个标签的约束如下:

“标题”标签约束:

“位置”标签约束:

“时间”标签约束:

问题是当我运行模拟器时,我看到标签对于单元格来说太长了,只是在末尾有“...”,而不是转到下一行。他们总是站在一条线上。我希望标签的文本根据需要转到下一行,并使单元格相应地展开。

在代码中我有以下几行:

tableView.rowHeight = UITableViewAutomaticDimension
tableView.estimatedRowHeight = 100.0

并且我有适当的代码为 tableView 设置单元格,确保使用我设置的自定义单元格。

【问题讨论】:

    标签: ios xcode swift tableview cell


    【解决方案1】:

    确保设置适当的内容压缩阻力优先级。这意味着标签应尽量抵抗“被压扁”或压缩。尝试使每个标签的它们略有不同,以防由于某种原因约束“竞争”。例如,将 TitleLabel 的垂直优先级设为 752,LocationLabel 设为 751,TimeLabel 设为 750。

    【讨论】:

    • 是的,我已经将标题、位置和时间标签分别设为 751、750 和 749。不过感谢您的评论。
    【解决方案2】:

    我遇到了同样的问题。经过多年的斗争,我发现将标签的水平压缩阻力设置降低到 250(顶部标签)和 251(底部标签)是有效的!

    我不完全明白为什么,并在这里发布了一个问题来尝试寻找答案:https://stackoverflow.com/questions/33236691/how-does-reducing-horizontal-compression-resistance-for-a-label-affect-row-heigh

    【讨论】:

    • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效。
    • 谢谢@VojtechVrbka 注意!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-28
    • 1970-01-01
    • 2011-09-03
    相关资源
    最近更新 更多