2016-09-27 53 views
4

我想在不同的屏幕上實現一致的視圖。我的佈局約束完美適用於小屏幕,但它在大屏幕上進行爭奪。AutoLayout:視圖的相對縮放

我已經制作了一個視圖(紅色邊框表示該視圖)並將其固定到主超級視圖中。然後,我已經提出了子視圖並將其放在視圖中。我固定了包含它父視圖按鈕的佈局的頂部底部尾部和前緣(指示視圖的紅色邊框)。該視圖包含按鈕看起來像這樣的小屏幕(iPhone 5)

,而它看起來在

enter image description here

我想這就像這個大屏幕(iPhone 6及以上)enter image description here

佈局在所有屏幕中具有與其他視圖相同的相對高度。我怎樣才能做到這一點?

+0

這些視圖是tableview/collectionview的一部分,還是他們是4個相同大小的視圖? –

+0

他們都是在彼此垂直排列的獨立視圖 –

+0

您是否嘗試過UIStackViews? –

回答

1

我想你可以使用UIView,其中包含一個按鈕,併爲UIView設置底部,前導,尾部和頂部約束。然後,您可以設置該UIView的高度約束,並將乘數值設置爲與其superView(=紅色框)具有相對高度。最後,你可以在你想要的UIView裏爲你的按鈕設置約束。如果您知道如何使用StackView,我建議您使用它,因爲它是簡單易用的解決方案。這裏有關於StackView的很好的tutorial

+0

堆棧視圖爲我完成了技巧感謝隊友:D,教程也非常有幫助:D –

+0

對你有好處。 :) – woogii

0

如果高度是除了按鈕子視圖不斷查看佈局會像你第一個圖像中提到的東西。如果你保持高度該按鈕爲常量考慮這個問題將得到解決

+0

您是否也可以提供示例代碼?這將有助於更好地理解。 – Ankit

+0

對於線性佈局,即如果視圖是垂直排列的,對於每個視圖,如果你想要固定高度,你必須將高度設置爲主視圖下每個子視圖的常量。通過看到你的圖像,我猜你沒有設置常量按鈕子視圖的高度 – Vignaya