使用自动布局以编程方式调整标签宽度

Posted

技术标签:

【中文标题】使用自动布局以编程方式调整标签宽度【英文标题】:Programmatically adjust label width with auto layout 【发布时间】:2016-01-02 13:33:59 【问题描述】:

我在视图中有两个标签,其中一个标签可以通过用户输入(添加数字)进行更改。约束以编程方式设置,使用视觉格式语言的水平约束如下所示:

"H:|-11-[label1]-[label2(>=30@750)]-10-|"

结果如下:

|[the text in label1...][label2]|

但是当用户将一些数字添加到标签 2 时,它会看起来像:

|[the text in label1...][......]|

我尝试过使用updateConstraintsIfNeeded()updateConstraints()layoutIfNeeded(),但没有任何效果。

这是我在输入额外数字后想要得到的结果:

|[the text in...][extra numbers]|

我做错了什么?一切都以编程方式编码。

【问题讨论】:

【参考方案1】:

尝试这样做:

"H:|-11-[label1(<=70@750)]-[label2]-10-|"

您在第一个标签中设置了低优先级,因为 label2 是您要缩放以适合文本的标签

这是我的结果的两张图片

Before clicking in the Add button

After clicking in the Add button

【讨论】:

谢谢!我非常专注于第二个标签,我以为我已经尝试了所有东西......阅读和谷歌搜索了很多东西,一切都那么简单......

以上是关于使用自动布局以编程方式调整标签宽度的主要内容,如果未能解决你的问题,请参考以下文章

如何使用自动布局调整 UILabel 宽度以适合文本?

以编程方式使用自动布局的 3 个等高视图

调整大小后使用自动布局以编程方式居中 UIImageVIew

使用自动布局约束以编程方式创建四个具有相同高度和宽度的 UIView

自动布局 - 以编程方式垂直排列元素,中间有空格?

以编程方式自动布局