iPhone6屏幕尺寸在模拟器上返回375

时间:2015-06-20 10:20:56

标签: ios objective-c

我的项目已经为所有iPhone iOS7,iOS8发布了图像。

无论如何,它仍然在模拟器中返回错误的屏幕宽度值:

   NSLog(@"%f",[UIScreen mainScreen].bounds.size.width);
    NSLog(@"%f",self.view.frame.size.width);

两者总是375.0。

我缺少什么?

1 个答案:

答案 0 :(得分:4)

iPhone6的实际屏幕尺寸为750像素,但iOS不会返回帧或边界中的像素大小,而是点大小!

如果您想知道点数中有多少像素,则必须使用[UIScreen mainScreen].scale

对于iPhone6plus来说,这更复杂,因为它还引入了一个原生规模'。一切都被绘制成一个更大的图像,并缩小到iPhone 6实际拥有的1920x1080屏幕。对于此,您将使用[UIScreen mainScreen].nativeScale [小心,原生规模仅适用于iOS8,如果您在iOS上使用它,您的应用程序将崩溃。]

P.S。如果您没有使用任何启动图像(-568h @ 2x除外),iPhone 6和6+将获得320x568。

相关问题