iphone手机屏幕大小和像素:
1.iPhone5/5s 320x568,像素640x1136,@2x
2.iPhone6 375x667,像素750x1334,@2x
3.iPhone6 Plus 414x736,像素1242x2208,@3x
旧的项目在xcode6上运行在iphone6或者iphone6 plus上,界面会被放大,适应iphone6和iphone6 plus的大屏幕。这时,若在项目中输出屏幕的宽高如下:
CGSize size =[[UIScreen mainScreen] bounds].size;
NSLog(@"width=%f height =%f",size.width,size.height)
发现输出的值还是320和568,说明编译器只是对app进行的自动拉伸。
那如何才能让app不自动拉伸,输出真正的size?遵循之前适配iphone5一样,还是修改启动画面。但有别于iphone5,现在苹果提供了一个LaunchScreen.xib作为启动页面,因此只要给旧项目添加LaunchScreen.xib即可。方法如下:
File->new->file->User Interface->Launch Screen
这时旧的工程目录下就会增加一个,然后再在项目的targets下设置启动属性,如下图
现在,重新运行项目就能打出对应的size。
接下来就是将项目中的320换成size.width.
如果发现适配太麻烦了,可以把LaunchScreen.xib删掉,再把上图中的Launch Screen File 设成空就换回自动拉伸的效果了。
转载于:https://blog.51cto.com/89092706/1565635