如何使Uilabel的Uiview Survice仅使用情节板符合Uilabel的固有高度



我得到了一个孩子是uilabel的uiview。然后,我使用约束将Uilabel的左,顶部,右和底部对齐。

但是,我得到的是一个uilabel,它符合其监督的高度,而与其内在高度不符(根据Uiview的大小,其本质上的高度(比其文本内容更小((。我期望的是Uiview调整大小以完全适合Uilabel的高度。

那么如何仅使用接口构建器?

为了使uilabel保持大小并迫使外观大小,您可以将Content Hugging Priority的值更新为1000(又称需要(。选择接口构建器中的标签时,可以在measurements面板中完成。

我认为它们被设置为 750的默认值。

这应该(如果没有其他原因引起更改(使标签具有内在的内容大小,并迫使其超级图书也符合该大小。

UIView(添加约束(对齐trailing,CC_6,bottomleading。从Uiview中删除heightbottom约束。

如果内容很大,则可能需要将UILabel包装到UIScrollView中,代替UIView。并将bottom约束添加到UIScrollView

UILabel(251(的Content Hugging Priority默认情况下,CC_19(251(的

大于UIView(250(的CC_18。验证此

使用自动划线非常容易。只是按照以下步骤

1-将Uiview和align it vertically and horizontally拖到中心。

2-现在将uilabel拖到Uiview和align the label also horizontally and vertically in centre。现在,IB将中心WRT的标签对齐到Suppertiew,而不是Uiview。

3-完成此操作并删除了所有红线,请使用命令键一起选择标签和Uiview。

4-现在,给他们约束如下

leading = 0, trailing = 0并选择equal widthequal height

您已经完成了。如果您想测试Uiview大小与标签的内容有关,请尝试将标签的字体增加到更大的尺寸,并且您会发现视图的大小将与大小相同标签。

在那里,您完成了:D。希望,这很有帮助。

如果有人遇到此问题,则:

  • Uiview内有2个标签
  • 在这里做的一切

在我的情况下,我将Vertical Content Hugging Priority设置为 uilabels of of1000。然后,其中一个标签具有不同的字体。(即一个标签应该比另一个标签小(

高度是模棱两可的,因为两个标签都试图将其高度强加于superview。一旦我降低了较小标签的优先级,一切都很好。

最新更新