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

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

转:Launch Screen在iOS7/8中的实现的更多相关文章

  1. Launch Screen在iOS7/8中的实现

    Launch Screen在iOS7/8中的实现 目前项目中需要解决的问题是: 兼容iOS7和iOS8,之前的版本不需要支持了 实现兼容3.5.4.4.7和5.5寸屏幕,竖屏的Lauch Screen ...

  2. iOS开发-Launch Image和Launch Screen

    Launch Image是App的启动图片,LaunchScreen是iOS8之后的功能,两者都可以设置app的启动图片.iOS8之后官方的推荐了使用Launch screen.xib,在xib的中通 ...

  3. iPhone launch screen,self.view.frame.size

    在工程文件中找到以下设置 "Launch Screen File"只支持iOS8以上版本,如果用之,则self.view.frame.size返回的结果为正常的当前view尺寸. ...

  4. iOS7开发中的新特性

        iOS7到现在已经发布了有一段时间了.相信你现在已经了解了它那些开创性的视觉设计,已经了解了它的新的API,比如说SpirteKit,UIKit Dynamics以及TextKit,作为开发者 ...

  5. Applications using Launch Screen Files and targetting iOS 7.1 and earlier need to also include a Launch Image in an Asset Catalog.

    在使用xcode6建的项目时,有时在ios7模拟器下会出现一下情况 导航栏上方和tabbar下方会有黑边 并且会有一下警告: Applications using Launch Screen File ...

  6. xCode5 在ios7模拟器中出现__cxa_throw _pthread_exit错误

    xCode5 在ios7模拟器中出现__cxa_throw _pthread_exit错误 2013年10月28日 ⁄ 综合 ⁄ 共 233字 ⁄ 字号 小 中 大 ⁄ 评论关闭   在项目中用模拟器 ...

  7. ios 2017启动页(Launch Screen Images)、图标(App Icon)尺寸大小

    ios 2017启动页(Launch Screen Images).图标(App Icon)尺寸大小   iPhone Portrait iOS 8,9-Retina HD 5.5 (1242×220 ...

  8. iOS欢迎界面Launch Screen动态加载广告

    有许多应用程序在打开的时候,欢迎界面会加载一张连网获取的广告图片或者显示一组动画,这样的效果是如何做到的呢?下面给大家介绍一种简单的实现加载广告的方式. 程序运行起来,欢迎界面之后,会进入AppDel ...

  9. CONTROLS: <> TYPE TABLEVIEW USING SCREEN<>.在 ABAP/4 中声明表格 控制

    在 ABAP/4 中声明表格 控制 在屏幕中使 用表格控制 时,必须在 ABAP/4 程序中同时 声明表格控 制结构和表 格控制字段 . 例如: TABLES:   SFLIGHT. CONTROLS ...

随机推荐

  1. 读书笔记 之 java编程思想3

    现在已经读到第二章  ,这个发现好多已经能都知道了  但是还是有自己比较生疏的比如说就是 储存到什么地方:书中介绍五种储存的地方 分别为1储存器,2堆栈,3堆4常量储存 5非RAM储存,java的出来 ...

  2. window 窗口编辑

    package com.chuangkohua; import java.awt.FileDialog; import java.awt.FlowLayout; import java.awt.Fra ...

  3. C++作业 一

    计算圆面积 Github:https://github.com/tinghaishuo/object-oriented/tree/master/circle

  4. 【CSAPP笔记】9. 汇编语言——缓冲区溢出

    x86-64 Linux 内存结构 先来看看一个程序在内存中是如何组织的.Linux 为每个进程维持了一段单独的虚拟地址空间.(进程是计算机科学中很深刻.很成功的一个概念.当我们在运行一个程序时,会得 ...

  5. 解决Shiro+SpringBoot自定义Filter不生效问题

    在SpringBoot+Shiro实现安全框架的时候,自定义扩展了一些Filter,并注册到ShiroFilter,但是运行的时候发现总是在ShiroFilter之前就进入了自定义Filter,结果当 ...

  6. 6/5 sprint2 看板和燃尽图的更新

  7. chrome浏览器下的xdebug helper使用方法

    chrome浏览器下的xdebug helper使用方法     自从安装了xdebug后,发现每次调试都需要从eclipse中先从头启动,然后一步步走到你要调试的页面,而不是说想什么时候调试就什么时 ...

  8. [转帖] 知乎: 为什么品牌机器里面的VTX都是关闭的..

    为何品牌机BIOS中的硬件虚拟化都是默认关闭的?   知乎老狼原创: https://www.zhihu.com/question/40381254/answer/499617881 谢邀.先说结论, ...

  9. vue 组件 单选切换控制模板 v-bind-is

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>T ...

  10. VIM 命令收藏

    1.vim#在命令行中输入vim,进入vim编辑器2.i#按一下i键,下端显示 --INSERT--#插入命令,在vim中可能任意字符都有作用3.Esc#退出i(插入)命令进行其它命令使用4.:r f ...