2015-04-02 179 views
2

我正在爲iPhone編程應用程序,我正在使用自動佈局。我瞭解@ 1x,@ 2x和@ 3x是如何工作的,但我不明白的是如何使用自動佈局處理不同的屏幕尺寸。iOS:使用自動佈局縮放不同的屏幕尺寸

如果我想現場看在iPhone 6+,iPhone 6和iPhone 5都好,我必須考慮到每部手機的非常不同的大小。我無法在所有iPhone上使用相同的圖像尺寸(以點爲單位),因爲它在較小的手機上顯得太大,在較大的手機上顯得太小。而我甚至不想想iPad佈局的麻煩。

我該如何解決這個問題?我應該使用約束條件來動態縮放所有圖像嗎?這聽起來可行,但我想知道最好的解決方案是什麼。

謝謝。我真的很茫然。

回答

4

一個小把戲,我通常做的是:

定義的縱橫比限制(CMD +在您的視圖中單擊開始,在你看來結尾):

enter image description here

然後迫使你視圖增加寬度或高度(即:定義左側和右側的約束)。

這一切都取決於你想要的東西,而約束條件/代碼在不同情況下會有所不同。

+0

此解決方案是否適用於整個屏幕?這正是我想要做的,但我不知道「長寬比」限制。它究竟做了什麼,相比之下,只是定義了左右邊界的約束條件(這也應該拉伸圖像)? 您在自己的應用中使用了什麼解決方案來解決我面臨的問題?我會認爲這是一個相當普遍的問題。 謝謝。 – Konrad 2015-04-02 11:15:31

+0

長寬比與非長寬比之間的差異在於,您可以保證,如果增加寬度,圖像將具有相同的比例並以相同的比例增加高度。正如我所說,這一切都取決於你的具體問題。您可能希望將圖像的大小增加到最大,或以與其他圖像相同的比例增加圖像,甚至只是全屏。通常我用約束來解決這個問題,但是對於每種情況來說,約束條件是不同的。 – 2015-04-02 11:38:26

+0

好的。我會嘗試添加這些類型的約束,基本上是縱橫比和左/右或頂部/底部約束,以便使我的子視圖動態調整大小。但是,如何以這種方式以與其他圖像相同的比例增加圖像的大小? – Konrad 2015-04-02 13:17:10

1

你可以做的@ 2x和@ 3倍不成比例比@ 1個計數器部分越大,則使用的UIImageView的固有大小讓它成爲更大的不同的屏幕尺寸

從來沒有嘗試過這樣的事情我自己,但我沒有看到一個原因,如果你想保持不同尺寸的propotion(例如,具有相同的外觀尺寸在每個設備中的圖像),你可以使用約束它wouldnt工作

+0

它不能很好地工作,因爲@ 2x用於iPhone 4,iPhone 5和iPhone 6,它們的屏幕尺寸完全不同。基本上這樣的解決方案對於4和5來說非常好,但對於6而言根本無法解決。 – Konrad 2015-04-02 11:14:16