有没有办法以编程方式让 UILabel 确定其内在内容大小

Is there a way to programmatically let a UILabel determine its intrinsic content size

我已经通过以下方式创建了标签和容器视图:

let label = UILabel(frame: CGRectMake(0,0, 50, 50))
label.text = "omnomnom"
let labelView = UIView(frame: CGRectMake(50, 50, 100, 100))
labelView.addSubview(label)
labelView.bringSubviewToFront(label)
labelView.backgroundColor = UIColor.orangeColor()
label.textAlignment = .Center

但标签文本可能会更改,因此对于较长的单词,不会显示整个内容。我想知道是否有办法在添加标签后确定内在内容大小,以便我可以使用这些值创建一个比标签大一点的容器视图。

您可以使用 sizeToFit 来完成。所以你只需要在标签配置的末尾添加label.sizeToFit()