2017-10-14 100 views
0

我需要在頁面底部創建3個方形按鈕。他們都必須對齊,他們的大小應該是正方形。Xcode如何在水平堆棧視圖內創建方形按鈕(寬度等於高度)

到目前爲止,我已經創建了一個水平stackview和創建自動佈局限制從底部50從左邊,50從右側10並設置stackview高度60

如何創建方形按鈕,因爲stackview子視圖的寬度是動態的並且在運行時確定?

如何爲這三個按鈕設置相等的寬高比?

circular image issue due to improper height

+0

你能修復你的語法嗎?我的眼睛傷害閱讀此... – LinusGeffarth

回答

2

不要設置堆棧視圖高度;讓內容確定。

你還沒有確切地說明你想如何佈置按鈕,但我想你希望它們平均分配。

  1. 把按鈕在水平堆疊視圖
  2. 約束主導,拖尾和堆棧視圖的底部邊緣至上海華
  3. 設置棧視圖的「補」對準和分配到「相等的間隔「
  4. 上的每個按鈕,創建其寬度和其的1高度之間的縱橫比約束:如果希望的按鈕的最小高度1
  5. ,設置一個> =高度約束在它們中的一個
  6. 如果你想要一個固定高度的按鈕,設置一個=高度約束其中之一
+0

我可以將前兩個按鈕的長寬比設置爲1:1,但隨着我移動到第三個,內容將跳出頁面。如果我將stackview x座標設置爲0,0。那麼它要求我刪除前兩個按鈕的寬高比 –

+0

您是否按照我所描述的那樣精確創建了約束和設置?即。擺脫堆棧視圖高度約束並僅創建我列出的約束(如果需要將其與其他內容隔開,可以在堆棧視圖頂部與其他內容之間添加約束)?我只是使用了這些確切的步驟來創建這個答案,它的工作正確。 – Paulw11

+0

是的,我已經清理了代碼並按照你的步驟工作。萬分感謝 –

0

我認爲你缺少的僅僅是設置你的堆棧視圖在屬性檢查器中的分佈。設置如下圖所示,以平均分配:

enter image description here

要設置高度,你只需要設置一個高度contraint上的每個按鈕。點擊領帶戰鬥機尋找圖標,並設置每個高度:

enter image description here

+0

填充同樣會給我等同的寬度如何設置相等的高度 –

+0

檢查有問題的圖像我沒有得到圓形按鈕becoz寬度是相同的,但高度是不是,我不能夠設置寬高比 –

+0

我看到你的問題。似乎是一個錯誤。清除堆棧視圖中的前導和尾隨約束。然後設置一個約束來在容器中水平設置StackView。然後,在屬性檢查器中,根據需要設置堆棧視圖間距屬性。 –