I create UIStackView
s programmatically and add them to parent UIStackView
, which is created in Storyboard. Child stack views are horizontal with 2 labels. I need to fix width of second UILabel
and make the first UILabel
fill the rest space.
Now I have this:
And I want this:
My code for generating children stack views:
@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)
}
}
Thanks for any help!
Just put width constraints on the labels.
parameterValueLabel.widthAnchor.constraint(equalToConstant: 80).isActive = true
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With