2013-08-17 23 views
0

我有一個優化的iPhone 4按鈕的視圖。按鈕填充整個屏幕。如果用戶有一個電話與視網膜我希望按鈕仍然填滿屏幕。用戶擁有iPhone 4的按鍵高度是148,但如果用戶使用的是iPhone 5的按鈕,現在應該是178 ...AutoLayout Retina 3.5/4的調整大小按鈕「

iPhone 4: http://i966.photobucket.com/albums/ae148/fostom/ScreenShot2013-08-17at94846AM.png

iPhone 5: http://i966.photobucket.com/albums/ae148/fostom/ScreenShot2013-08-17at100649AM.png

+0

- (void)loadView { [super loadView]; self.view.frame = [UIScreen mainScreen] .bounds; } 使用這條線,然後告訴我這裏是否有效? – iAhmed

+0

也許我不完全理解這個問題,但是如果我明白,要爲不同的設備更改大小相同的按鈕,則必須明確更改代碼中按鈕的大小。 – Lexandr

+0

自動佈局的重點在於您不必顯式更改UI元素的大小。 –

回答

1

好的。我自己解決這個問題。

從3" 調整大小按鈕畫面到4" 屏幕的解決方案是:

  1. 選擇最上面一行按鈕。設置約束'Top Space To Superview'
  2. 選擇底部行按鈕。設置約束'底部空間到Superview'
  3. 選擇所有按鈕。設置約束'Heights Equally'

至少;這解決了我的問題/問題。這純粹是在故事板中完成的,沒有代碼。

+0

如何編輯頂部/底部空間到SuperView ..?它不可編輯 –

0

這可以通過像這樣的約束輕鬆實現:

@"V:|-10-[button1]-5-[button2(==button1)]-5-[button3(==button1)]-10-|" 

不指定按鈕的顯式高度,你告訴自動佈局,所有的按鈕應該具有相同的高度(button2(==button1)意味着BUTTON2應該有相同的高度,按鈕1)。然後指定按鈕之間的距離(示例中爲5)和第一個按鈕的上邊緣,最後一個按鈕的下邊緣和視圖的邊緣之間的距離(示例中爲10)。

等瞧:

enter image description hereenter image description here

如果你想建立在Interface Builder的約束,你必須將它們自己進行轉換。不應該那麼多工作。

+0

感謝您的反饋! 對不起,但我不知道如何在代碼中實現。希望將其設置在故事板中。但是這也應該在故事板中可行,對吧? – TommyF