2013-03-25 90 views
1

我已經離開iOS開發了一段時間了,而且我在路障。在一個應用程序中爲iPhone 4和iPhone 5開發

我的一個應用程序有一個UIImageView圖形,然後我有覆蓋視覺效果的按鈕。除了自動佈局外,我能夠使所有的工作都能正常工作。

如果我將我的筆尖設置爲3.5並在3.5模式下運行模擬器,那麼一切都很好。如果我在4.0模式下運行它,按鈕全部移位。這也適用於與此相反的情況。

我不知道如何避開移動的按鈕。有沒有辦法或者應該有兩個筆尖?

+0

使用自動調整(IB右窗格中的標尺圖標)。此外,要查看這兩種尺寸的外觀,請點擊IB右下角的按鈕,將視圖擴大爲兩種屏幕尺寸的尺寸。 – 2013-03-25 23:38:20

+0

您只需要正確設置您的約束。我不能說你需要改變什麼,而不知道你現在看到了什麼,以及你想看到什麼。當你進入大屏幕時,你想讓所有的東西都散開嗎? – rdelmar 2013-03-26 00:13:41

回答

0

開發在3.5英寸的屏幕,但支持的autoLayout。瀏覽視圖中的每個項目並調整自動調整大小。 - 選擇項目 - 在界面構建器中通過放大/縮小向下到白色箭頭的位置。點擊小按鈕,看起來像一個H. - 這將允許您調整調整爲

enter image description here

enter image description here

2

如果你不使用IB那麼你會得到大小每個項目基於此的視圖和佈局。

我通常使用verticalOffset(NSInteger)的單個值和具有取決於界面元素的值的不同倍數的基礎Y值。

CGRect screenBounds = [[UIScreen mainScreen] bounds]; 

if (screenBounds.size.height == 568) { // iPhone 5 
    verticalOffset = 20; 
} else { 
    verticalOffset = 0; 
} 

如果將來蘋果發佈iPhone 5.5具有768像素高度(我開玩笑..哈哈!)

你只需要在一個新的verticalOffset增值和觀點將instamagically填寫新的尺寸。

CGRect screenBounds = [[UIScreen mainScreen] bounds]; 

if (screenBounds.size.height == 768) { // iPhone 5.5 
    verticalOffset = 30; 
} else if (screenBounds.size.height == 568) { // iPhone 5 
    verticalOffset = 20; 
} else { 
    verticalOffset = 0; 
} 

爲IB/iPhone的簡單的方法如果你想支持舊版本的IOS關掉自動佈局

Turn Off AutoLayout

,並關閉自動調整大小爲最高值

enter image description here

佈局IB視圖爲iPhone 5,當你使用iPhone 3.5英寸的所有界面元素將擠入3.5英寸大小(請務必留下足夠的空白,當你攤開來在較高的尺寸)

相關問題