Launch Screen在iOS7/8中的实现

目前项目中需要解决的问题是:

  • 兼容iOS7iOS8,之前的版本不需要支持了
  • 实现兼容3.544.75.5寸屏幕,竖屏的Lauch Screen



创建所需的PNG图片

有关iPhone6/6+相关尺寸见这里



需要如下尺寸图片:

  • 用于iPhone6+1242x2208,或者1080x1920,也就是Retina HD 5.5
  • 用于iPhone6750x1334,也就是Retina HD 4.7
  • 用于4寸屏(iPhone5/5s)的640x1136,就是Retina 4
  • 用于3.5(iPhone4/4s)640x960,就是2x

使用LaunchImage


使用LaunchImage,可以兼容iOS7iOS8

因为iOS8也会调用LaunchScreen.xib,所以我的做法是直接删除它。就是这个文件:


然后,在Images.xcassets中创建一个LaunchImage

Launch Screen在iOS7/8中的实现_第1张图片

Launch Screen在iOS7/8中的实现_第2张图片



需要在项目属性里,launch Images Source里设置为LaunchImage

Launch Screen在iOS7/8中的实现_第3张图片



launch Images Source里添加相应大小的图片(如果希望启动显示LaunchImage删除Launch Screen File



测试了一下:

  • iPhone6+使用的是Retina HD 5.5
  • iPhone6使用的是Retina HD 4.7
  • iPhone5s使用的是Retina 4
  • iPhone4s使用的是2x



使用LauchScreen.xib

这是Xcode6/iOS8的新功能,也就是说,这个步骤,是为了支持iOS8的,而不支持iOS7。其实在目前的项目用不上,不过做了技术准备,就写下来吧。

创建LaunchScree.xib

看到这个方形的xib文件,怪怪的,这是为了支持横屏和竖屏的,因为这个项目只需要竖屏,也可以这样:


Launch Screen在iOS7/8中的实现_第4张图片


不改也没关系。


修改TARGETS中得Launch Screen File 属性为创建的xib文件



测试一下,iOS8下面的Launch Screen都没有问题了:

  • iPhone6+用的是3x
  • iPhone5s用的是Retina 4 2x
  • iPhone6iPhone4s都是用的2x

因此我没有添加1x的图片,基本没用。

结论

  • 目前比较好的方式是使用Launch Image的方式创建各种设备的图片文件,兼容iOS7/8
  • 使用LaunchScreen.xib,功能更强大,但是仅支持iOS8,可能再过几年可以成为主流方法

源代码见这里:GitHub,是使用LaunchImage的方式。


你可能感兴趣的:(ios,image,Launch,屏幕尺寸兼容)