iPhone6的屏幕尺寸在模拟器上返回375
问题描述:
我的项目已为所有iPhone iOS7,iOS8启动图像。iPhone6的屏幕尺寸在模拟器上返回375
反正它一直在模拟器的屏幕宽度返回错误的值:
NSLog(@"%f",[UIScreen mainScreen].bounds.size.width);
NSLog(@"%f",self.view.frame.size.width);
都始终是375.0。
我失去了什么?
答
iPhone6的实际屏幕尺寸为750像素,但iOS不会返回帧或边界中的像素尺寸,而是返回点的尺寸!
如果你想知道一个点上有多少像素,你必须使用[UIScreen mainScreen].scale
。
对于iPhone6plus来说,这更加复杂,因为它还引入了“原生比例”。一切都被吸引到一个更大的图像,并减少到iPhone 6实际拥有的1920x1080屏幕。为此,您可以使用[UIScreen mainScreen].nativeScale
[小心,原生比例仅适用于iOS8,如果您在iOS上使用它,则您的应用程序会崩溃。]
P.S.如果您没有使用任何闪屏图像(-568h @ 2x除外),则iPhone 6和6+的分辨率为320x568。
你期待什么价值? @ 1x iPhone 6屏幕宽度为375像素宽。 – Ryan
我期望能像我一样拥有真正的价值 - 750 – Curnelious
那么在一些项目中你是如何得到750和其他375?我需要的尺寸不是像素的 – Curnelious