2016-04-17 16 views
9

UIStackViewをプログラムで作成し、ストーリーボードで作成されたUIStackViewの親に追加します。子スタックビューは2つのラベルで水平です。私は秒の幅を修正する必要がありますUILabel最初のUILabel残りのスペースを埋める。UIStackViewの要素の幅を修正します

今、私はこれがあります。

Before

をそして、私はこの希望:

After

子どもたちが意見をスタック生成するための私のコード:任意のための

@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) 
    } 
} 

感謝を助けて!

答えて

13

ラベルに幅の制約を入れるだけです。

parameterValueLabel.widthAnchor.constraint(equalToConstant: 80).isActive = true 
関連する問題