【发布时间】:2014-11-02 20:16:26
【问题描述】:
谁能告诉我是什么功能
rect = [[UIScreen mainScreen] bounds];
应该返回不同iOS设备的宽度和高度?我确信自从迁移到最新的 xcode 和 ios 8.1 后我得到的值是错误的
对于 ipad air,我得到 1024 x 768,对于 iphone 5s,我得到 480x320,这两者显然都不是 mainScreen 的分辨率。我只有这两个设备和用于在以前的 sdk/xcode 上返回正确分辨率的函数。我的代码在很大程度上依赖于这些正确的值,以便自动定位和缩放 UI、openGL 渲染缓冲区等,现在由于这个函数返回错误的值而被破坏了。
【问题讨论】:
-
1024x768 是 iPad 的正确尺寸(横向)。 480x320 表示您的 iPhone 处于横向状态,但您似乎没有 4" 启动图像,这就是为什么您得到 480 而不是 568。
-
我使用的是 2048x1536 的 iPad air,这不应该是 h 和 w 的返回值吗?
-
没有。所有 iPad 的屏幕尺寸均为 1024x768。这是以点为单位,而不是像素。查看测量值始终以点为单位。如果您想要以像素为单位的屏幕尺寸,请乘以屏幕比例。
-
感谢您的信息!最后一件事,我如何获得您上面提到的设备的屏幕比例?
-
查看
UIScreen的文档。
标签: ios iphone xcode ipad opengl-es