2015-02-09 221 views
0

按照頁面在這裏:http://www.paintcodeapp.com/news/ultimate-guide-to-iphone-resolutions像素的iPhone 6屏幕尺寸應該是750×1334(1334x750景觀),但是我的應用程序似乎覺得屏幕尺寸景觀是三百七十五分之六百六十七和它沒有被正確渲染到整個屏幕。這裏是我用來獲取應用程序啓動時的窗口尺寸以及opengl的代碼。屏幕尺寸

的applicationDidFinishLaunching:

CGRect rect = [[UIScreen mainScreen] bounds]; 
CGFloat screenW = rect.size.width; 
CGFloat screenH = rect.size.height; 

initGL:

CGRect rect = [glView bounds]; 
CGFloat screenW = rect.size.width; 
CGFloat screenH = rect.size.height; 
glOrthof(0, screenW, 0, screenH, -1, 1); 

兩個功能打印出相同的值:667瓦特/ 375h。難道這有一個問題,我曾與開機畫面,在那裏基本上我不得不把它從[email protected]重命名爲[email protected]得到它正確加載呢?我覺得這是簡單的東西,我錯過了這裏,任何幫助表示讚賞。

回答

0

它是確定的。你看到的是邏輯點。這些被轉換成物理像素。在iPhone 6的情況下,它是2倍。

+0

好了,所以在屏幕上繪圖的時候,我應該用點而不是像素?我已經將大部分繪圖與舊的iPhone屏幕尺寸硬編碼在一起,因此只需將480/320的實例更改爲iPhone 6尺寸的「點」值即可解決此問題?如果是這樣,我還有一個問題。那麼我如何使用其他屏幕尺寸進行渲染?假設我有iPhone 3G,4,5,6和6+以上的用戶。我必須爲每組點值設置不同的繪圖代碼嗎? – test7908 2015-02-09 14:49:45

+0

始終用代碼中的點來推理。 關於位圖,您需要爲舊iPhone(3GS)提供單獨的設置,以及新版本的2x和3x版本。 iphone6 +。 如果您使用CGGraphics或簡單的UIView配置創建視覺效果,那麼您可以免費獲得清晰的像素。 – 2015-02-09 14:53:50

+0

http://www.paintcodeapp.com/news/ultimate-guide-to-iphone-resolutions – 2015-02-09 14:54:48