2014-02-06 70 views
2

我目前正在編寫和iPad應用程序。我對Auto Layout非常新,而且我似乎應該是一個非常簡單的頁面,但我無法讓它在縱向和橫向上都看起來很正確。在iOS中以不同方向佈局

有三個部分:頂部的圖像,中間附近的標籤和文本字段以及底部的按鈕。在縱向和橫向兩種方向上,我需要三個部分佔據大部分垂直空間,在部分之間填充均勻。很顯然,在橫向模式下,填充必須縮小,但只要它們仍然相稱,那沒關係。見下面的圖片。

我正在尋找一些關於如何使用自動佈局(或其他任何真的)來實現此目的的建議。

如果難以閱讀,箭頭出來的單詞是「相同」。我只是試圖指出部分之間的距離是相同的,並且頂部部分和屏幕頂部之間的距離與底部部分和屏幕底部之間的距離相同。

enter image description here

回答

1

有一堆的方法來做到這一點。一個簡單的方法是將LabelText字段放在一個大小足以包含它們的UIView中。給它一個centerY約束,但調整它的常量,將其從center上下移動到所需的位置。將圖像視圖限制在superview的頂部,並將button一個限制在superview的底部。給所有東西一個centerX約束。這可以全部在InterfaceBuilder中設置。

+0

這可能會起作用,但它不會調整沿着頂部的圖像或底部的按鈕的約束。在OP的圖形中,您會看到沿着頂部和底部的約束在兩個方向上明顯不同。 – Aaron

+0

亞倫,你是對的。這個問題似乎讓系統改變了三個部分之間的距離,所以他們仍然是成正比的。因此,如果它們的縱向分辨率都是300像素,那麼它們在景觀上應該都是200像素。我不確定這甚至可以使用約束條件。 – d512

+0

@ user1334007,這是完全可能的,但在代碼中這樣做會更容易。通過使用乘數和常數參數,可以使縱向和橫向的間距不同。 – rdelmar