Ios 允许UILabel使用自动布局动态增长

Ios 允许UILabel使用自动布局动态增长,ios,uilabel,autolayout,Ios,Uilabel,Autolayout,我有一个标签,它将包含一个大的描述。我希望这个标签能在新的生产线上继续发展。在图中,它的标签以event_Visite开始 均衡的场地。。标签目前有3个约束条件: 带有事件标题的垂直空间 超视场引导的水平空间 定义标签宽度始终小于superview.width的宽度约束 我想要实现的是使event_vention.width小于superview.width,但是如果它有更多的文本,它应该以新的行显示。是否可以使用自动布局?autolayout方便您进行定位。我不认为它会给你自动扩展。您必须使用

我有一个标签,它将包含一个大的描述。我希望这个标签能在新的生产线上继续发展。在图中,它的标签以event_Visite开始

均衡的场地。。标签目前有3个约束条件:

  • 带有事件标题的垂直空间
  • 超视场引导的水平空间
  • 定义标签宽度始终小于superview.width的宽度约束

  • 我想要实现的是使event_vention.width小于superview.width,但是如果它有更多的文本,它应该以新的行显示。是否可以使用自动布局?

    autolayout
    方便您进行定位。我不认为它会给你自动扩展。您必须使用宽度和高度完整地定义标签
    ,否则您将在标签末尾看到点。因此,您可以使用
    UITextView
    将其扩展到整个屏幕。设置
    textView.backgroundcolot=clearColor

    我已经解决了一个类似的问题。我必须做一个标签,有可变数量的文字。以下是我所做的:

    • 在情节提要中,将带有原点的标签放置在所需位置
    • 在属性检查器的“标签”部分中,设置换行符=换行符
    • 用随机占位符文本填充标签,使其达到所需的最大形状。例如,如果您希望填充整个宽度,并且最多可以容纳三行文本,您可以这样做:
      abcdefghijklmnopqrstu
      abcdefghijklmnopqrstu
      abcdefghijklmnopqrstu

    • 在代码中,使用setText:
      [self.myLabel setText:@“MyLabelText”]


    这是为了我。你的情况可能有点不同,因为我没有改变superview的宽度,听起来你可能会改变。但是如果在标签上设置了宽度限制,那么我希望这在您的情况下也能起作用。

    我有一个关于标签大小调整的类似问题,我发现对我有用的答案如下:。这是关于如何以编程方式调整标签大小的代码的良好开端


    我建议您也添加一个从标签到superview边缘的水平尾随自动布局约束。这样做,您就可以摆脱当前的宽度限制。

    是的,这完全是可能的。我在这里看到的答案接近解决方案,但并不完整。这是一个解决方案,它可以在故事板中自动布局,不需要编码
    sizeToFit
    或任何东西。您修改的步骤将是:

  • 带有事件标题的垂直空间
  • 以superview为前导的水平空间
  • 带有superview尾部的水平空间
  • 将UILabel的换行符设置为换行
  • 将UILabel的lines属性设置为0

  • 这是创建可扩展UILabel的可能步骤

  • 设置UILabel的布局以固定其位置
  • 设置行数=0
  • 将内容垂直压缩阻力设置为1000(这将允许文本推动标签)
  • 由于希望UILabel展开,因此无法为其提供固定高度约束或其父固定高度约束。有时,根据给定高度约束的条件,为避免错误,需要将其优先级设置为低于垂直压缩阻力

  • 这当然是可能的,但我实际上会使用
    UITextView
    editable=NO只需将行数设置为零。