Launch Screen在iOS7/8中的实现

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

  • 兼容iOS7和iOS8,以前的版本不须要支持了
  • 实现兼容3.五、四、4.7和5.5寸屏幕,竖屏的Lauch Screen

建立所需的PNG图片

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

须要以下尺寸图片:app

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

使用LaunchImage

使用LaunchImage,能够兼容iOS7和iOS8。iphone

由于iOS8也会调用LaunchScreen.xib,因此个人作法是直接删除它。就是这个文件:测试

而后,在Images.xcassets中建立一个LaunchImagecode

须要在项目属性里,launch Images Source里设置为LaunchImage图片

测试了一下:ip

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

使用LauchScreen.xib

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

看到这个方形的xib文件,怪怪的,这是为了支持横屏和竖屏的,由于这个项目只须要竖屏,也能够这样:it

不改也不要紧。

Images.xcassets里建立backgroundImage

LaunchScreen.xib中加一个图片,用刚刚建立的backgroundImage

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

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

所以我没有添加1x的图片,基本没用。

结论

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

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

相关文章
相关标签/搜索