• 转:Launch Screen在iOS7/8中的实现


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

    • 兼容iOS7和iOS8,之前的版本不需要支持了
    • 实现兼容3.5、4、4.7和5.5寸屏幕,竖屏的Lauch Screen

    创建所需的PNG图片

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

    需要如下尺寸图片:

    • 用于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。

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

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

     

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

     

    测试了一下:

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

    使用LauchScreen.xib

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

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

    不改也没关系。

     

    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的方式。

  • 相关阅读:
    tuple 元组及字典dict
    day 49 css属性补充浮动 属性定位 抽屉作业
    day48 选择器(基本、层级 、属性) css属性
    day47 列表 表单 css初识
    day 46 http和html
    day 45索引
    day 44 练习题讲解 多表查询
    day 40 多表查询 子查询
    day39 表之间的关联关系、 补充 表操作总结 where 、group by、
    day38 数据类型 约束条件
  • 原文地址:https://www.cnblogs.com/guoxiaoqian/p/4497678.html
Copyright © 2020-2023  润新知