我的项目为所有iPhone iOS7,iOS8启动了图像。
无论如何,它总是在模拟器中为屏幕宽度返回错误的值:
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 8上使用,则您的应用程序将崩溃。]
PS:如果您未使用任何启动画面(-568h @ 2x除外),则适用于iPhone 6和6+的320x568。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句