我的项目已经为所有iPhone iOS7,iOS8发布了图像。
无论如何,它仍然在模拟器中返回错误的屏幕宽度值:
NSLog(@"%f",[UIScreen mainScreen].bounds.size.width);
NSLog(@"%f",self.view.frame.size.width);
两者总是375.0。
我缺少什么?
答案 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。