如何在 Swift 中以编程方式为 UILabel 设置动态高度?
iosmobile developmentiphone/ipadswift更新于 2026/3/7 12:52:17
要在 Swift 中为 UILabel 设置动态高度,我们可以使用 UILabel 的 frame 属性。我们可以使用 CGRect 创建一个 frame,它允许我们设置不同的变量,例如 x 坐标、y 坐标、宽度和高度。
让我们创建一个标签并将其作为子视图添加到我们的视图中。
let label = UILabel() label.frame = CGRect(x: 10, y: 40, width: 200, height: 50) label.backgroundColor = colorLiteral(red: 0.7450980544, green: 0.1568627506, blue: 0.07450980693, alpha: 1) label.textColor = colorLiteral(red: 0.05882352963, green: 0.180392161, blue: 0.2470588237, alpha: 1) label.text = "Custom label" self.view.addSubview(label)

我们也可以将其嵌入到函数中,并创建一个扩展。
func makeLabel(atX x: Double, andY y: Double,width: Double, height: Double) -> UILabel {
let label = UILabel()
label.frame = CGRect(x: x, y: y, width: width, height: height)
label.backgroundColor = colorLiteral(red: 0.7450980544, green: 0.1568627506, blue: 0.07450980693, alpha: 1)
label.textColor = colorLiteral(red: 0.05882352963, green: 0.180392161, blue: 0.2470588237, alpha: 1)
label.text = "Custom label"
return label
}
我们可以将它与之前的代码一起放在视图控制器中使用,这就是它在设备上的显示效果。
self.view.addSubview(makeLabel(atX: 10, andY: 100, width: 250, height: 100))
