自动布局以动态调整uilabel宽度

Mse*_*enb 63 constraints storyboard ios autolayout

所以我在Storyboard中并排了两个UILabels.第二个标签应该与第一个标签的右边缘对齐(尾随约束为1),但是我还需要第一个标签(左边的标签)来设置它的宽度等于它的内容大小,除非它达到最大宽度.视觉:


|标记一个文本| |标签两个文字|


我需要以下约束:

1)标签1应该宽度调整宽度,除非它达到最大尺寸.

2)标签2应始终与标签1的右边缘对接

如何在Storyboard中进行设置?

bil*_*tum 108

  1. 在标签之间创建1点水平空间:按住Control键并拖动label2label1.从弹出窗口中选择"水平间距".双击约束.将常量更改为1.
  2. 给出label1最大宽度:选择label1.转到顶部菜单栏,选择"编辑器">"引脚">"宽度".双击约束.将关系更改为<=并将常量更改为最大宽度.
  3. 垂直对齐标签:选择两个标签.转到顶部菜单栏,选择"编辑器">"对齐">"垂直中心".
  4. 您仍然需要设置约束来定义标签在容器视图中的定位方式.我把它留给你.我label1从根视图的左边缘固定了32个点,从顶部布局指南固定了34个点.
  5. 更新标签的框架以便它们反映上述约束:转到画布右下角的菜单栏.点击"解决自动布局问题"Tie-Fighter按钮.在弹出窗口中选择"更新所有帧...".

注意:请注意,我没有必要创建约束来使label1宽度反映其内容大小.内容大小限制是自动生成的.

在此输入图像描述

  • 领带战士按钮.LOLZ. (30认同)
  • @ pash3r它取决于你在做什么,但你想要更容易压缩的标签,使优先级低(我只是将它们设置为1)和不能压扁设置为高的那个(1000) (2认同)

Har*_*ani 8

请参考以下约束来设置UIlabel和UIButton灵活宽度;

使用xib autolayout根据文本设置UIlabel和UIButton灵活宽度