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

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

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

    目前项目中需要解决的问题是: 兼容iOS7和iOS8,之前的版本不需要支持了 实现兼容3.5.4.4.7和5.5寸屏幕,竖屏的Lauch Screen 创建所需的PNG图片 有关iPhone6/6+相 ...

  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. 自动化环境robot framework安装中问题解决

    在搭建自动化环境的时候需要安装以下程序:

  2. 读取input:file的路径并显示本地图片的方法

    <!doctype html> <html> <head> <meta content="text/html; charset=UTF-8" ...

  3. paper 95:《模式识别和机器学习》资源

    Bishop的<模式识别和机器学习>是该领域的经典教材,本文搜罗了有关的教程和读书笔记,供对比学习之用,主要搜索的资源包括CSDN:http://download.csdn.net/sea ...

  4. 关于OpenGL的性能方面的技巧(不时更新)

    显示列表可以有效提高渲染性能渲染顺序顶点层次分配内存管理递归查找 在有引擎的情况下,同一个模型对象会使用同一份内存和显存 优化裁剪算法,去掉无需渲染的对象 纹理阴影比体阴影效率要高 尽量使用UVW贴图 ...

  5. 企业信息系统——SCM

    供应链是供应商.制造商.仓库.配送中心和渠道商等构成的物流网络.同一个企业可能构成这个网络的不同组成节点,但更多的情况下是由不同的企业构成这个网络中的不同节点.例如,在某条供应链中,某个企业可能即在制 ...

  6. 爬虫6:多页面增量Java爬虫-sina主页

    之前写过很多单页面python爬虫,感觉python还是很好用的,这里用java总结一个多页面的爬虫,迭代爬取种子页面的所有链接的页面,全部保存在tmp路径下. 1 序言 实现这个爬虫需要两个数据结构 ...

  7. Web Components是不是Web的未来

    今天 ,Web 组件已经从本质上改变了HTML.初次接触时,它看起来像一个全新的技术.Web组件最初的目的是使开发人员拥有扩展浏览器标签的能力,可以自由的进行定制组件.面对新的技术,你可能会觉得无从下 ...

  8. winform插件机制学习

    这两天在看自定义控件,原来有太多知识没有掌握.今天看到插件机制,心里突然一亮,这个东西听了不少次,就是不知道是啥回事.这次有幸书里包含一个案例,我就跟着它一步步来.终于知道是什么回事了.这个应该在软件 ...

  9. TextBox

    一.聚焦: private void FrmOnlineChargeMoney_Paint(object sender, PaintEventArgs e) { edtAuthCode.SelectA ...

  10. 基于webrtc的视频通话时webrtc的接口调用流程

    场景: 1.A call B 2.B answer 3.A connected with B 共同的步骤: A 和 B 都需要初始化webrtc模块,创建peerconnectionfactory 步 ...