2016-04-17 14 views
9

Programlı olarak UIStackView s oluşturup bunları Storyboard'da oluşturulan ana UIStackView öğesine ekliyorum. Çocuk yığını görünümleri 2 etiketle yataydır. İkinci UILabel'un genişliğini düzeltmem ve ilk UILabel'u dinlenme alanını doldurmam gerekiyor.UIStackView öğesinde öğenin genişliğini düzeltme

Şimdi bu var:

Before

Ve bunu istiyorum: Herhangi için

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

Teşekkür: Çocukların görüşlerini yığını oluşturmak için

After

Kodum yardım et!

cevap

13

Sadece etiketlerde genişlik sınırlamaları koyun.

parameterValueLabel.widthAnchor.constraint(equalToConstant: 80).isActive = true 
İlgili konular