修复 UIStackView 中元素的宽度
Fix width of element in UIStackView
我以编程方式创建 UIStackView
s 并将它们添加到在 Storyboard 中创建的父级 UIStackView
。子堆栈视图是水平的,带有 2 个标签。我需要修复第二个 UILabel
的宽度并使第一个 UILabel
填充其余 space.
现在我有了这个:
我想要这个:
我生成子堆栈视图的代码:
@IBOutlet weak var parentStackView: UIStackView!
func addStackViewsToParentStackView(params: [String: Float]) {
for (name, value) in params {
let parameterNameLabel = UILabel() // first label
parameterNameLabel.text = name
let parameterValueLabel = UILabel() // second label
parameterValueLabel.text = value.description
parameterValueLabel.frame.size.width = 80.0 // I've tried to fix width, but it does't help
let childStackView = UIStackView(arrangedSubviews: [parameterNameLabel, parameterValueLabel])
childStackView.axis = .Horizontal
childStackView.distribution = .FillProportionally
childStackView.alignment = .Fill
childStackView.spacing = 5
childStackView.translatesAutoresizingMaskIntoConstraints = true
parentStackView.addArrangedSubview(childStackView)
}
}
感谢您的帮助!
只需对标签设置宽度限制。
parameterValueLabel.widthAnchor.constraint(equalToConstant: 80).isActive = true
我以编程方式创建 UIStackView
s 并将它们添加到在 Storyboard 中创建的父级 UIStackView
。子堆栈视图是水平的,带有 2 个标签。我需要修复第二个 UILabel
的宽度并使第一个 UILabel
填充其余 space.
现在我有了这个:
我想要这个:
我生成子堆栈视图的代码:
@IBOutlet weak var parentStackView: UIStackView!
func addStackViewsToParentStackView(params: [String: Float]) {
for (name, value) in params {
let parameterNameLabel = UILabel() // first label
parameterNameLabel.text = name
let parameterValueLabel = UILabel() // second label
parameterValueLabel.text = value.description
parameterValueLabel.frame.size.width = 80.0 // I've tried to fix width, but it does't help
let childStackView = UIStackView(arrangedSubviews: [parameterNameLabel, parameterValueLabel])
childStackView.axis = .Horizontal
childStackView.distribution = .FillProportionally
childStackView.alignment = .Fill
childStackView.spacing = 5
childStackView.translatesAutoresizingMaskIntoConstraints = true
parentStackView.addArrangedSubview(childStackView)
}
}
感谢您的帮助!
只需对标签设置宽度限制。
parameterValueLabel.widthAnchor.constraint(equalToConstant: 80).isActive = true