水平对齐两个UILabel(固定宽度和可变宽度)可以通过以下步骤实现:
sizeWithAttributes:
方法计算UILabel的内容所需的宽度,并将其应用于可变宽度的UILabel的frame或约束。以下是一个示例代码片段,展示了如何使用Auto Layout实现水平对齐两个UILabel:
// 创建固定宽度的UILabel
let fixedWidthLabel = UILabel()
fixedWidthLabel.text = "固定宽度"
fixedWidthLabel.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(fixedWidthLabel)
// 创建可变宽度的UILabel
let variableWidthLabel = UILabel()
variableWidthLabel.text = "可变宽度"
variableWidthLabel.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(variableWidthLabel)
// 设置固定宽度的UILabel的约束
fixedWidthLabel.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 20).isActive = true
fixedWidthLabel.widthAnchor.constraint(equalToConstant: 100).isActive = true
fixedWidthLabel.centerYAnchor.constraint(equalTo: view.centerYAnchor).isActive = true
// 设置可变宽度的UILabel的约束
variableWidthLabel.leadingAnchor.constraint(equalTo: fixedWidthLabel.trailingAnchor, constant: 20).isActive = true
variableWidthLabel.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -20).isActive = true
variableWidthLabel.centerYAnchor.constraint(equalTo: view.centerYAnchor).isActive = true
variableWidthLabel.setContentHuggingPriority(.defaultLow, for: .horizontal)
在这个示例中,我们创建了一个固定宽度为100的UILabel和一个可变宽度的UILabel。通过设置它们的约束,我们确保它们水平对齐,并且可变宽度的UILabel会根据内容自动调整宽度。
领取专属 10元无门槛券
手把手带您无忧上云