我得到了一个孩子是uilabel的uiview。然后,我使用约束将Uilabel的左,顶部,右和底部对齐。
但是,我得到的是一个uilabel,它符合其监督的高度,而与其内在高度不符(根据Uiview的大小,其本质上的高度(比其文本内容更小((。我期望的是Uiview调整大小以完全适合Uilabel的高度。
那么如何仅使用接口构建器?
为了使uilabel保持大小并迫使外观大小,您可以将Content Hugging Priority
的值更新为1000
(又称需要(。选择接口构建器中的标签时,可以在measurements
面板中完成。
我认为它们被设置为 750
的默认值。
这应该(如果没有其他原因引起更改(使标签具有内在的内容大小,并迫使其超级图书也符合该大小。
用UIView
(添加约束(对齐trailing
,CC_6,bottom
和leading
。从Uiview中删除height
和bottom
约束。
如果内容很大,则可能需要将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 width
和equal height
。
您已经完成了。如果您想测试Uiview大小与标签的内容有关,请尝试将标签的字体增加到更大的尺寸,并且您会发现视图的大小将与大小相同标签。
在那里,您完成了:D。希望,这很有帮助。
如果有人遇到此问题,则:
- Uiview内有2个标签
- 在这里做的一切
在我的情况下,我将的Vertical Content Hugging Priority
设置为 uilabels of of1000。然后,其中一个标签具有不同的字体。(即一个标签应该比另一个标签小(
高度是模棱两可的,因为两个标签都试图将其高度强加于superview
。一旦我降低了较小标签的优先级,一切都很好。