如何调整标签大小以适合文本的长度

boo*_*224 14 objective-c uilabel ios

我在过去的QAs中搜索了解决方案,但找不到合适的QA.
有谁知道如何UILabel动态调整大小以适应文本长度?
我上传了我不想要的屏幕截图(第1行)和我想要的(第2行).
我很感激任何线索,建议或代码示例.谢谢.在此输入图像描述

ggr*_*ana 13

您正在搜索的是UILabel方法 sizeToFit

我可以尝试向您解释,但知道如何使用UILabel的最佳答案是:https://stackoverflow.com/a/1054681/666479


Sur*_*gch 6

Xcode 8和iOS 10

使用自动布局非常容易.无需在代码中执行任何操作.

在此输入图像描述

使用自动布局

使用自动布局仅固定每个标签的顶部和左侧边缘.不要为宽度和高度添加约束.视图的内在内容大小将负责这一点.

在此输入图像描述

这是约束的样子:

在此输入图像描述

代码没什么特别之处.无需使用sizeToFit或类似的东西.

import UIKit
class ViewController: UIViewController {

    @IBOutlet weak var labelOne: UILabel!
    @IBOutlet weak var labelTwo: UILabel!
    @IBOutlet weak var labelThree: UILabel!

    @IBAction func changeTextButtonTapped(_ sender: UIButton) {

        labelOne.text = "David"
        labelTwo.text = "met"
        labelThree.text = "her"
    }
}
Run Code Online (Sandbox Code Playgroud)

笔记

  • 这个答案已经过Xcode 8,iOS 10和Swift 3的重新测试.
  • 如果您想要多行调整大小,请参阅我的其他答案.
  • 感谢这个让我走上正轨的答案.