Fix width of element in UIStackView
28,011
Just put width constraints on the labels.
parameterValueLabel.widthAnchor.constraint(equalToConstant: 80).isActive = true
Author by
Peter Tretyakov
Updated on July 09, 2022Comments
-
Peter Tretyakov almost 2 years
I create
UIStackView
s programmatically and add them to parentUIStackView
, which is created in Storyboard. Child stack views are horizontal with 2 labels. I need to fix width of secondUILabel
and make the firstUILabel
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!