2016-09-29 39 views
0

我目前正在Swift中創建一個iOS對象的應用程序列表。我正在使用UIStackView來組織這些對象,並且首先製作一個UIView容器,它將主要保存UILabels。我碰到一個令我困惑的問題,我希望有iOS經驗的人可以解釋爲什麼會發生這種情況。這裏是我的簡單的代碼至今:普通UIView沒有被添加到UIStackView

override func viewDidLoad() { 
    super.viewDidLoad() 

    for i in 0...5{ 
     //Make card in here 
     let DynamicView=UITextView(frame: CGRectMake(0, 0, 100, 100)) 
     DynamicView.backgroundColor=UIColor.greenColor() 
     DynamicView.layer.borderWidth=2 

     let lbl = UILabel() 
     lbl.text="Label " + String(i) 
     lbl.backgroundColor = UIColor.whiteColor() 
     lbl.layer.borderColor = UIColor.lightGrayColor().CGColor 
     lbl.layer.borderWidth = 2.0 
     stackView.addArrangedSubview(lbl) 
     //stackView.addArrangedSubview(DynamicView) 
    } 

在此,我加入6個標籤的StackView,成功地運作: UILabels in UIStackView

您可以在註釋的代碼,我嘗試添加看UIView的,其中,將它添加到UIStackView前,看起來是這樣的:

UIView no add

當我把它添加到UIStackView(以及從早期註釋掉標籤),該地區在那裏我禾ULD預計UIViews出現空白:

After add

我做得不對的代碼? UIViews不能添加到UIStackViews?

回答

1

我想你還沒有爲Stack View設置top, leading, bottom and trailing約束條件。同時設置堆棧視圖的分佈以便平等填充。

+0

這樣做,謝謝你幫助iOS的noob。 – DonutGaz