2017-05-25 15 views
0

我有設計類似下面的圖像iOS - 如何使用AutoLayout垂直排列多個組件?

enter image description here

我解決了這個方法RedView的.. 組Y位置, 設置綠景的垂直間距, 設置藍景... 的垂直間距屏幕,但這種方法似乎效率低下。

需要幫助來實現以下任務。

  1. 組件總是應該根據中心進行堆疊,而不管數量。 (因爲組件的數量可以根據客戶的需求而改變)。
  2. 組件具有不同的高度。

有沒有好的方法?

+0

在什麼組件上添加什麼限制? –

+1

如果我理解qus正確然後你可以使用tableView與每個組件的自定義單元格。將組件設置爲tableView單元格的中心(更改單元格標識符)。基於您的數據選擇一個正確的單元格來加載組件。 –

回答

1

使用堆棧查看好友。它將使你的生活輕鬆了許多..

這將會給你一個想法如何使用它們

https://www.raywenderlich.com/114552/uistackview-tutorial-introducing-stack-views

而且請通過API參考..它將有幫助

https://developer.apple.com/reference/uikit/uistackview

他們會自動調整自己對變更項目大小或屏幕方向改變..

+4

雖然鏈接可能會有幫助,但避免鏈接只有答案,因爲鏈接可能會被刪除或變得無效如此更好給一個答案,即使鏈接不可用仍可以幫助 – Imran

+0

嗯,其中之一是Apple API參考和其他Raywanderlich ..他們都不會去任何地方,除非堆棧視圖變得過時..我敢打賭,.. –

+0

StackView將只支持iOS 9.0及以上... –

0

你需要從對象庫拖到您的組件並把它們垂直放入您的視圖。然後選擇所有組件並垂直堆疊,使用命令:編輯器 - >嵌入 - >堆棧視圖或單擊對齊圖標旁邊屏幕底部的堆棧視圖圖標。

然後在視圖中垂直和水平居中堆疊視圖。

堆棧視圖有許多選項,允許您在堆棧視圖中分發組件:在屬性檢查器中使用對齊和分配選項以實現正確定位。

對於更高級的技巧,閱讀上面Umer Farooq建議的有關raywenderlich的自動佈局和堆棧視圖。