【问题标题】:AutoLayout to dynamically size UILabel Height and Width自动布局以动态调整 UILabel 高度和宽度
【发布时间】:2016-08-01 22:27:51
【问题描述】:

我有一个 UILabel,一个 UIView 在 Storyboard 中并排包含其他子视图。 UIView 应该靠在 UILabel 的右边缘(尾随约束为 1),但我还需要 UIlabel(左侧的那个)将它的宽度设置为等于它的内容大小,除非它达到最大宽度。视觉上:

|标签文字| |UIViewWithSubviews|

我需要以下约束:

1) 标签应该调整宽度,除非它达到最大尺寸并且高度也是动态的,这意味着当文本达到最大宽度时,自动换行会将句子分成另一行。并且 UIview 将垂直于 UIlabel。

2) UIView 应始终与垂直中心的标签一的右边缘对接。

如何在 Storyboard 中进行设置?

提前致谢。

【问题讨论】:

    标签: ios swift autolayout


    【解决方案1】:

    这是你需要的吗?

    这是我在 Interface Builder 中所做的。

    【讨论】:

    • 这可能是对 SO 最好的解释 :)
    • 连同这个答案,我给 UILabel 的底部约束等于零,高度约束大于等于零,然后它开始工作了,我在表格视图中尝试过。希望对您有所帮助!
    【解决方案2】:

    1) 在 UILabel 上设置一个宽度限制,即“小于或等于”到您想要的最大宽度。

    2) 将情节提要中的 UILabel 的行数设置为 0。这将启用您正在寻找的包装。根本不要设置任何高度限制。

    3) 设置约束使 UIView 与 UILabel 垂直居中。

    4) 您的其他现有约束听起来不错。只需确保 UILabel 具有清晰的 x 和 y 位置,例如通过锚定到超级视图的前边缘和顶部边缘。并确保 UIView 除了垂直居中和与 UILabel 的前沿对齐之外,还具有足够的约束。

    【讨论】:

      猜你喜欢
      • 2014-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-30
      • 1970-01-01
      • 1970-01-01
      • 2014-01-11
      • 1970-01-01
      相关资源
      最近更新 更多