【问题标题】:IOS - Self sizing cells stretch the label viewsIOS - 自定尺寸单元拉伸标签视图
【发布时间】:2017-03-24 00:12:07
【问题描述】:

我正在创建具有这些约束和自调整单元格的表格视图。

tableView.estimatedRowHeight = 400
tableView.rowHeight = UITableViewAutomaticDimension

主故事板:

约束:

但是,结果会使两个顶部标签像这样拉伸。请告诉我为什么会发生这种情况以及如何解决?

【问题讨论】:

  • 你的 stackview 是什么?...它有不明确的约束 stackview.top = userlabel.bottom + 8 和 stackview.top = imgview.bottom+ 8
  • 有两个堆栈视图。一个包含 Date 和 MealType 标签,另一个在 Comments 上方

标签: ios swift autolayout uilabel


【解决方案1】:

如果不看全貌就很难说,但这可能与该标签的内在内容大小限制有关。其他因素使单元格的大小变大,并且该单元格的内容拥抱优先级足够低,以至于它可以伸展以填充空间。该标签的拉伸很可能是另一个问题的征兆。

【讨论】:

  • 如果我增加这两个标签的内容拥抱优先级,底部的两个标签将被拉伸。单元格的大小根本不是动态的,这很奇怪。
  • 是的,这就是我所说的症状。其他东西决定了比你预期的更高的高度。如果您可以将项目发布到某个地方,我可以看看。否则,请查看所有项目的约束条件,看看还有什么使它具有更高的高度。
  • 我已经在 Github 上推送了:github.com/ZellNguyen/Balance.git。请看一下,谢谢!
  • 你推送最新的了吗?故事板看起来像模板故事板。
  • 看github上的storyboard,和你上面的图片完全不符,只是一个tab控制器里的两个空视图控制器。
【解决方案2】:

我假设您希望 UIImageView 填满空白空间。尝试将高度约束 >= 添加到所有标签的最小值,例如 20(或您的字体大小)。并确保您的UIImageView 没有固定的高度约束,但有顶部、前导、尾随和底部约束。这些是你应该有的约束:

  • 用户标签应具有顶部、前导和尾部 >= 10。numberOfLines 设置为 0 并自动换行作为内容换行。
  • 我假设您的日期和膳食标签位于堆栈视图中。所以它应该至少有一个明确定义的前导、顶部和高度约束,即前导、顶部和高度约束的优先级为 1000。如果您没有为此视图定义高度,则默认设置为 750,并且此高度约束总是会被打破的。
  • 现在您的UIImageView 应该有顶部、前导和尾部约束。
  • 您的标签标签应具有前导、尾随和顶部约束。
  • 您的 cmets 按钮应具有前导、顶部、底部和尾部以及固定高度

除了上述约束之外,请确保您的所有视图除了图像视图具有固定的高度约束,该约束具有 >= 到最小高度

【讨论】:

    猜你喜欢
    • 2019-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-20
    • 1970-01-01
    • 1970-01-01
    • 2012-02-29
    • 2011-09-27
    相关资源
    最近更新 更多