【问题标题】:How to change UILabel width based on text length in iOS Using Auto-Layouts如何使用自动布局在 iOS 中根据文本长度更改 UILabel 宽度
【发布时间】:2016-06-14 04:18:17
【问题描述】:

我想显示两个UILabel's,但是UILabel's 具有可变文本长度根据 textsize UIlabel's 宽度需要增加使用自动布局。

为此,我在下面为UIlabel's 写了自动布局

第一个标签:

1)leading Space 
2)Top space
3)Width
4)height
5)Horizontal spacing

第二个标签:

1)Trailing space
2)Top space
3)Width
4)height

我们怎样才能做到这一点?

请帮帮我。

我的代码:

textLabel1.numberOfLines = 0
        textLabel1 .sizeToFit()
        textLabel1.text = "asdfdsfdghjgjhkhkjlhjkhjk"

textLabel2.numberOfLines = 0
        textLabel2 .sizeToFit()
        textLabel2.text = "asdfdsfdghjgjhkhkjlhjkhjk"

【问题讨论】:

  • 如果您只需要uilabel 扩展宽度?
  • 是基于文本大小需要扩展
  • 你能看到你的设计XIB或故事板吗?
  • 我正在使用故事板

标签: ios uilabel ios-autolayout


【解决方案1】:

选择First UILabel,设置Leading、Top、bottom并设置固定宽度,然后进入size Inspector -> 选择fixed width constraints -> 关系 -> 选择大于或等于,示例如下,

选择第二个UILabel,设置Leading、Bottom、固定宽度,然后上面同样的流程要执行,

希望对你有帮助

【讨论】:

  • 大于或等于表示如果您的标签宽度为 42,如果您设置大于或等于根据您的文本扩展全屏宽度,其范围较大宽度 >= 42,但其固定为 42 和仅以上。
  • 小于或等于意味着如果您的标签宽度为 240 并且是固定的,如果您设置小于或等于,则 240 是最大值但您的文本很小,它会根据您的自动更改宽度大小文本。如果您的文本高于 240 则其不可见全文,
  • 小于或等于的例子是聊天应用,Whats App,任何聊天检查它。好的,您了解上述限制是否有效
  • 嗨,我有一个小甜甜圈吗?
  • 告诉我你的甜头是什么?
【解决方案2】:

首先您需要将UILabel 的属性numberOfLines 设置为零并将文本换行设置为自动换行。然后给出所需的约束。

如果你没有得到想要的结果,那么你需要通过boundingRectWithSize:...方法计算标签的动态高度,并相应地给出高度约束。

【讨论】:

    猜你喜欢
    • 2015-09-05
    • 2011-04-01
    • 1970-01-01
    • 2014-08-17
    • 1970-01-01
    • 1970-01-01
    • 2021-02-02
    • 1970-01-01
    • 2019-07-27
    相关资源
    最近更新 更多