2014-12-04 110 views
1

試圖在iPhone 6和6+的模擬器中以原始分辨率運行。我正在使用Xcode 6.原生分辨率驗證適用於iPhone 6和iPhone 6+

已經在XCode中以適當的分辨率完成啓動映像安裝。

的iPhone 6(視網膜HD 4.7)要求的750肖像推出圖像x 1334

的iPhone 6 Plus上(視網膜HD 5.5)既需要縱向和橫向圖像大小爲1242×2208個和2208 X 1242分別。

但在代碼中,

[[UIScreen mainScreen] bounds].size.width 
[[UIScreen mainScreen] bounds].size.height 

得到

375.000000, 667.000000 for iphone 6 simulator 
414.000000, 736.000000 for iphone 6+ simulator 

如果圖像被刪除獲得

320.000000, 568.000000 for iphone 6 simulator 
320.000000, 568.000000 for iphone 6+ simulator 

所以我猜頂號驗證,我們是在高分辨率模式,但爲什麼我們不能獲得真正的屏幕分辨率? iPhone 6是/ 2和iPhone 6+/3.或者這只是設計。

[ADDITION]

以爲我會在添加此腳本如何生成所有Xcode的6發射的畫面的一例....

必須安裝ImageMagick的,使用源文件,而無需alpha層。

convert black.png -resize 1024x768! Launch-iPad-1024x768-Landscape-ios-5-6-1x.png 
convert black.png -resize 1024x768! Launch-iPad-1024x768-Landscape-ios-7-8-1x.png 
convert black.png -resize 1536x2048! Launch-iPad-1536x2048-Portrait-ios-5-6-2x.png 
convert black.png -resize 1536x2048! Launch-iPad-1536x2048-Portrait-ios-7-8-2x.png 
convert black.png -resize 2048x1536! Launch-iPad-2048x1536-Landscape-ios-5-6-2x.png 
convert black.png -resize 2048x1536! Launch-iPad-2048x1536-Landscape-ios-7-8-2x.png 
convert black.png -resize 768x1024! Launch-iPad-768x1024-Portrait-ios-5-6-1x.png 
convert black.png -resize 768x1024! Launch-iPad-768x1024-Portrait-ios-7-8-1x.png 
convert black.png -resize 1242x2208! Launch-iPhone-1242x2208-Portrait-ios-8-HD-5.5.png 
convert black.png -resize 2208x1242! Launch-iPhone-2208x1242-Landscape-ios-8.png 
convert black.png -resize 320x480! Launch-iPhone-320x480-Portrait-ios-5-6-1x.png 
convert black.png -resize 640x1136! Launch-iPhone-640x1136-Portrait-ios-5-6-Retina-4.png 
convert black.png -resize 640x1136! Launch-iPhone-640x1136-Portrait-ios-7-8-Retina-4.png 
convert black.png -resize 640x960! Launch-iPhone-640x960-Portrait-ios-5-6-2x.png 
convert black.png -resize 640x960! Launch-iPhone-640x960-Portrait-ios-7-8-2x.png 
convert black.png -resize 750x1334! Launch-iPhone-750x1334-Portrait-ios-8-HD-4.7.png 
+0

'[[UIScreen mainScreen] scale];''是您可能正在尋找從'bounds'獲得_real_分辨率的乘數。 – holex 2014-12-04 17:08:11

+0

謝謝,是的,這一切看起來像是它應該如何工作。這是我第一次看到有關分辨率的細節。 – ort11 2014-12-04 19:02:14

回答

0

您可以使用[UIScreen mainScreen].nativeScale女巫的意志帶給您2.6f如果正常,2.8f如果在iPhone 6加縮放,或者定義的宏:

#define IS_OS_8_OR_LATER ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) 
#define IS_IPAD (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) 
#define IS_IPHONE (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) 
#define IS_IPHONE_5 (IS_IPHONE && ([[UIScreen mainScreen] bounds].size.height == 568.0) && ((IS_OS_8_OR_LATER && [UIScreen mainScreen].nativeScale == [UIScreen mainScreen].scale) || !IS_OS_8_OR_LATER)) 
#define IS_STANDARD_IPHONE_6 (IS_IPHONE && [[UIScreen mainScreen] bounds].size.height == 667.0 && IS_OS_8_OR_LATER && [UIScreen mainScreen].nativeScale == [UIScreen mainScreen].scale) 
#define IS_ZOOMED_IPHONE_6 (IS_IPHONE && [[UIScreen mainScreen] bounds].size.height == 568.0 && IS_OS_8_OR_LATER && [UIScreen mainScreen].nativeScale > [UIScreen mainScreen].scale) 
#define IS_STANDARD_IPHONE_6_PLUS (IS_IPHONE && [[UIScreen mainScreen] bounds].size.height == 736.0) 
#define IS_ZOOMED_IPHONE_6_PLUS (IS_IPHONE && [[UIScreen mainScreen] bounds].size.height == 667.0 && IS_OS_8_OR_LATER && [UIScreen mainScreen].nativeScale < [UIScreen mainScreen].scale) 

這裏是如果屏幕縮放屏幕界限或不是

<UIScreenMode: 0x17802f240; size = 1242.000000 x 2208.000000> // STANDARD 
<UIScreenMode: 0x178226be0; size = 1125.000000 x 2001.000000> // ZOOMED 
相關問題