UILabel 有错误的框架。 Swift

UILabel has wrong frame. Swift

我在一个单元格中添加了四个 UILabel,似乎我添加了所有必要的约束,但我无法使我的标签具有与其文本内容相同的框架。也不能设置高度。标签看起来像这样(文字出现在中心,框架很大):

我希望它是这样的:

此外,我正在以编程方式执行所有操作,因此我没有使用 Interface Builder 寻找解决方案

如果您希望标签与内容大小相同,请将 Content Hugging Priority 设置为 .required:

label.setContentHuggingPriority(.required, for: .horizontal)
label.setContentHuggingPriority(.required, for: .vertical)

这将防止较低优先级的约束扩展您的标签。

label.font = label.font.withSize(label.frame.height)