2013-02-20 70 views
0

我正在開發應用程序,需要支持iPhone 5的4英寸屏幕尺寸。我最初設計的應用程序,並通過XCode 4.6模擬器瞄準iPhone 3.5英寸(視網膜和非視網膜顯示器),並從模擬器內切換到iPhone 5。令我驚訝的是,我看到屏幕底部的1英寸空間超出了我的幾個UIButtons。我必須滾動iPhone 5模擬器來查看我的UIButton。我應該在這裏做什麼來支持所有屏幕尺寸,並使其在所有設備上看起來完全相同?此外,我的應用程序僅支持所有設備的肖像模式(包括所有版本的iPad),而且我根本不使用故事板。iPhone 5特定的屏幕尺寸問題

請幫忙。

回答

0

你不能讓3.5英寸屏幕和4英寸屏幕看起來相同,因爲它們不是。但是你可以讓它看起來更好。如果沒有看到代碼,很難說出你有什麼問題。但我會盡我所能來幫助你。

如果此視圖是您作爲rootViewController添加的viewController的一部分,則無論屏幕大小如何,都應該自行擴展以填充整個屏幕。但是,如果這是viewController視圖中的子視圖,則應確保視圖佔用全屏。人們常常硬編碼的視圖的框架任意數字,像這樣:

[view setFrame:CGRectMake(0,0,320,460)]; 

然而,這不是3.5和4英寸的屏幕之間進行移植。要做到這一點:

[view setFrame:self.view.bounds]; 
[view setFrame:self.view.window.bounds]; //sometimes i use this instead 

//set autoresizing 
view.autoresizingMask = UIViewAutoresizingFlexibleHeight|UIViewAutoresizingFlexibleWidth; 

除此之外,您還可以使用自動尺寸調整到固定件的屏幕的底部,或者與屏幕的高度上沿着調整。

看到這個職位如何:我How can I stretch and anchor a central view between a fixed-height header and footer, using Interface Builder?

+0

這樣做:檢查自動版式選項,因爲我的應用從iOS 6中及以後的支持之後,一切看起來不錯。我沒有答案的一件事是,當我使用iPhone 4英寸模擬器來查看應用程序時,我在底部看到一個滾動條,並且我向右滾動顯示一個部分隱藏的按鈕。爲什麼如此?我在底部有4個UIButton,並且所有的都是等距的,也是居中的。 – Hema 2013-02-21 18:23:38

+0

可能的問題:contentInset?如果將contentInset設置爲左側,則會強制內部視圖向右移動並強制滾動。 – 2013-02-21 18:33:13

+0

我對XCode 4.6並不熟悉。你能告訴我更多關於「contentInset」的信息嗎?如何關閉它。 – Hema 2013-02-21 18:48:43