[英]Auto layout how to hide 1 view in a view with 3 equal width views
如果部署目標是iOS9或更高版本 ,建議使用UIStackView
作為封閉視圖。 在UIStackView
排列的任何視圖上設置isHidden
為true
不僅會使視圖隱藏,而且堆棧視圖也會重新組織所有非隱藏視圖以填充隱藏視圖所占用的空間。 可以通過調整UIStackView
distribution
來調整此行為。
Tj3n的答案有效,但它有一個缺點,你必須在你的代碼中使用幻數,並在代碼和IB中設置約束屬性。
恕我直言,更好的解決方案是在IB中設置具有不同優先級的所有約束,並在代碼中激活/停用它們。 嘗試這個:
high
所有三個視圖設置相等的寬度約束。 required
優先級,但在IB中將它們取消激活。 並將它們連接到代碼中的IBOutlet
,就像連接視圖一樣。 請注意,只有1和2就位,您可以實現等寬視圖布局。 使用3和4,您可以有選擇地折疊/展開任何視圖。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.