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

时间:2019-07-22 11:08:26

标签: ios swift autolayout nslayoutconstraint

我有一个具有以下约束的UILabel

Height = 30
Leading = superview leading
Center Y = superview center Y

标签的文本根据api响应而更改。我正在使用label.sizeToFit()来更改标签的宽度。

现在,我想在标签上添加一些空间。新宽度应为

textsize + 50

如何仅使用自动布局不计算宽度就可以做到这一点。

3 个答案:

答案 0 :(得分:0)

我们通常不会在标签上添加填充。我们使用另一种解决方案:

  1. 您可以将前导约束和尾随约束从0增加到所需的任何值。
  2. 您可以创建另一个放置标签的UIView。标签应尽可能多地具有前导和尾随约束。这会自动调整您的视图大小
  3. 使用UIButton,它已经在Storyboard中具有内容插图。禁用其用户交互。 (这是一个过度的杀伤力,但这是一个解决方案)。

答案 1 :(得分:0)

您可以将该UILabel放在UIView中,并对该视图赋予约束(填充)。

答案 2 :(得分:0)

迅速

yourtextLabel.adjustsFontSizeToFitWidth = true
yourtextLabel.minimumScaleFactor = 0.5