2015-02-09 219 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