2012-10-20 55 views
0

我使用的XCode 4.5.1和iOS模擬器(視網膜4英寸)遷移問題,iPhone 5的分辨率

我有項目,我做了一個yera前。所以現在我想將我的項目遷移到新的解決方案。

我的問題是下一:

我的代碼集成到我的項目,以檢測我有一個解決方案。

CGRect screenBounds = [[UIScreen mainScreen] bounds]; 

但是在我出價值screenBounds來的NSLog我寬度= 320和高度= 480,但我exprected看到1136×640

你有同樣的問題?

回答

1

您確定您使用的是4英寸模擬器嗎? [[UIScreen mainScreen] bounds]將返回點的屏幕邊界,而不是像素。所以在4英寸的iPhone CGRect返回應該是320x568

所以,如果你[[UIScreen mainScreen] bounds]

  • < = iPhone 3GS:小320x480
  • iPhone 4 & iPhone 4S:小320x480
  • iPhone 5:320x568

注:如果你沒有添加[email protected]文件,並且該應用程序運行letterboxed您使用的方法將返回iPhone 4的4S值。

提示:要確定您使用的是iPhone 5或休息,這段代碼可能會派上用場:

#define IS_IPHONE_5 (fabs((double)[ [ UIScreen mainScreen ] bounds ].size.height - (double)568) < DBL_EPSILON) 

if(IS_IPHONE_5) 
{ 
    // iPhone 5 
} 
else 
{ 
    // Other 
} 
+0

我可以在模擬器上測試它嗎?我已經設置了4英寸的模擬器,但是我仍然無法從代碼中檢查我正在使用的設備。 –

1

到您的應用適應了新的更高的屏幕,你要做的第一件事是將啓動圖像更改爲:[email protected]。它的大小應該是1136x640(HxW)。是的,在新的屏幕尺寸下顯示默認圖像是讓您的應用程序獲得全新iPhone 5屏幕的關鍵。

而且,你必須採取幾個步驟:

確認,您的Xibs /瀏覽次數使用自動佈局來調整自己。使用彈簧和支柱來調整視圖的大小。如果這對於您的應用程序來說不夠好,請爲您的xib/storyboard設計一個特定的屏幕大小,然後以編程方式爲另一個屏幕大小重新定位。