2016-12-05 65 views
0

我有4次 ,其是具有相等寬度的限制 現在我想使一個人的寬度爲零 而其它視圖調整大小(寬度方向)自身來填充它的地方 我該如何實現它?均等寬度約束具有一個或多個視圖寬度等於零

+0

可能重複[自動佈局如何隱藏1視圖與3等寬視圖](http://stackoverflow.com/questions/38364555/auto-layout-how-to-hide-1-view-在-A-視圖與-3-等於寬度視圖) –

回答

0

你應該看看UIStackView。 UIStackView完全符合你的需求。但請注意,UIStackView僅適用於iOS 9和更高版本。

如果您必須支持低於9.0的iOS,那麼您應該在刪除或調整其中一個視圖時手動更改約束。 手動執行此操作:

  1. 您應該從視圖中除去「寬度相等」約束
  2. 添加新的限制,以你的觀點
  3. 呼叫layoutIfNeeded()方法來應用限制

你可以創建像這樣的新約束:

let view1Cnst = NSLayoutConstraint(item: view1, attribute: .width, relatedBy: .equal, toItem: view2, attribute: .width, multiplier: 1.0, constant: 1.0) 
view1.addConstraint(view1Cnst) 

我希望你可以使用UI StackView,因爲它更簡單的方法。

相關問題