2015-04-02 86 views
1

我有點卡住,任何幫助將不勝感激!不理解自動佈局,約束和尺寸類

我會給你一個快速的概述。我設計了一個屏幕,使用iphone 6屏幕尺寸構建草圖,然後重新設計以適合iphone 5/5s/5c和6 plus,因爲這些是我想支持的唯一設備。

但是設計部分或實現只有一個特定的屏幕尺寸的設計很容易,我明白這一部分。我完全迷失在哪裏,是如何在一個視圖控制器中實現一個設計,該設計看起來應該適用於我設計的所有屏幕尺寸。

我已經經歷了一些以上的自動佈局和大小類教程,並不確定如何正確使用它們,以便應用程序識別出「這是一個iphone 5,而是使用這些圖像大小和位置,而這是一個iphone 6 plus,使用這些「等等。

我所見過的關於自動佈局和約束的所有內容都只使用一組數字來判斷元素的距離,但所有的屏幕尺寸都會有不同的距離。

我錯過了什麼或不理解?我知道我在看不正確的東西。

在此先感謝您的幫助!

回答

1

你是正確的,只有一組數字可以用來判斷距離,但這仍然可以描述視圖應該如何顯示在不同的屏幕尺寸上。你的問題可能是你正在考慮約束來描述你的視圖的框架? (這顯然必須在每個設備上有所不同)。我覺得將約束看作描述我的觀點的每個邊如何與另一個觀點相關聯會更有幫助。

例如,這裏是一個視圖控制器,我設置了所有相同的約束條件,以及它在不同設備上的外觀。這些約束描述瞭如何將大灰度視圖固定在其容器視圖的左邊緣和右邊緣的左邊緣和右邊緣20處。它被固定在頂部8點和標籤頂部8點之間。標籤垂直和水平居中,並具有固有的內容大小。每個按鈕從底部邊緣固定20個點,按鈕1和2分別固定到從左邊緣和右邊緣起的20個點。

enter image description here

我不知道是否是幫助,如果這是不是你以後的答案,你需要以不同的方式安排你的看法取決於設備:你可以告訴Xcode中哪個設備的大小和方向您正在創建的約束是,在Interface Builder中使用此按鈕。

enter image description here

用它來選擇設備尺寸/方向。之後,您創建的任何限制條件都只能在該設備上使用。默認情況下,選擇任何寬度和高度,因此通常您的約束適用於所有設備。

另外,您不能選擇要支持的設備,只能選擇iOS版本。

+0

非常感謝你的回答,這確實有助於改變我的觀點。我仍然在努力處理一些事情,但是你的例子幫助我從早些時候理解了它的一部分。 – 2015-04-03 20:53:51

+0

我很高興能幫上忙。你還在爲之掙扎的其他事情是什麼? – ABakerSmith 2015-04-03 20:58:20

+0

非常感謝你的回答,這確實有助於改變我的觀點。我仍然在努力處理一些事情,但是你的例子幫助我從早些時候理解了它的一部分。 我還在努力研究它,如果我仍然有3個不同尺寸的按鈕,例如5和6,6 +尺寸,我如何確定每個尺寸的數學約束條件,以及如果我有三個屏幕來構建因爲,如果我只能插入一組約束,代碼如何知道顯示哪個按鈕大小?或者它更像是一個「實驗,直到它看起來很正確」有點類似遊戲? – 2015-04-03 21:01:01