簡體   English   中英

如何使用autolayout將UIView分成相等的部分?

[英]How to split UIView into equal parts using autolayout?

我正在努力尋找一個邏輯規則或約束,這將允許我將UIView的內容分成相等的部分。

更具體一點,想象一下初始寬度為300pt的UIView。 然后讓我們放置三個子視圖並進行設置,使每個子視圖的寬度實際為100,而origin.x將為0,100和200.一個子視圖將構成superview的三分之一。 如果我調整超級視圖的大小,所有三個子視圖將水平變寬,但它們將保持相同的大小。

有幫助嗎?

  1. 放置您的視圖。
  2. 放置和定位三個子視圖,每個子視圖占寬度的三分之一。
  3. 通過按住cmd並單擊每個子視圖來選擇所有三個子視圖。
  4. Go Editor> Pin> Widths

確保為子視圖x和y位置設置約束。 在您的情況下,您將最左側子視圖的前導空間固定為superview,並將最右側子視圖的尾部空間固定為superview(編輯器> Pin>前導/尾隨空間到superview)和垂直間距,具體取決於您的情況。

相等的寬度/高度限制將為您完成此操作。

在可視格式中,約束將是:

|[view1][view2(==view1)][view3(==view1)]|

左側固定在超視圖的左側,右側固定在右側,中間固定在兩個外側,所有三個都固定在相同的寬度上。

在iOS 9中,Apple推出了StackView。 在UIViewController中拖動Vertical StackView。 從StackView中的Object庫中拖出3個UIView。 選擇StackView然后在屬性檢查器中將分布設置為“均勻填充”並將間距設置為5或任何您想要的值。 更改所有三個視圖的顏色,您將看到它們分成三個部分。

在此輸入圖像描述

在此輸入圖像描述

結果:

在此輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM