当前位置: 首页 > news >正文

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

 

转载于:https://www.cnblogs.com/zhoup/p/4597756.html

相关文章:

  • Bootstrap系列 -- 17. 复选框checkbox和单选择按钮radio
  • rpm 与 yum 源
  • Linux使用快捷键,who命令,rm命令,ps命令,cd,命令kill命令,find命令,grep命令,tar命令(gz、tar、bz2),用户管理,vim配置的一部分,相关命令...
  • 健康篇之抗生素---对症下药
  • 分布式文件系统MogileFS介绍
  • [20150629]简单的加密连接.txt
  • python 装饰器 一 (简单不带参数的函数)
  • Android SDK开发包国内下载地址
  • 利用JasperReport+iReport进行Web报表开发
  • 如何对数据库中的表以及表中的字段进行重命名
  • HDU 4513 哥几个系列故事——形成完善II manacher求最长回文
  • Tip:Exchange启用POP3和IMAP4服务
  • OneProxy中间件生产使用经验视频分享
  • nodejs学习笔记-EventEmitter使用
  • 二维数组
  • 「译」Node.js Streams 基础
  • 【Amaple教程】5. 插件
  • 【node学习】协程
  • 〔开发系列〕一次关于小程序开发的深度总结
  • Android Volley源码解析
  • android高仿小视频、应用锁、3种存储库、QQ小红点动画、仿支付宝图表等源码...
  • create-react-app做的留言板
  • egg(89)--egg之redis的发布和订阅
  • JavaScript实现分页效果
  • MySQL QA
  • MySQL-事务管理(基础)
  • node-glob通配符
  • php的插入排序,通过双层for循环
  • vue--为什么data属性必须是一个函数
  • 搞机器学习要哪些技能
  • 问题之ssh中Host key verification failed的解决
  • 我与Jetbrains的这些年
  • 优化 Vue 项目编译文件大小
  • 最简单的无缝轮播
  • 交换综合实验一
  • ​人工智能之父图灵诞辰纪念日,一起来看最受读者欢迎的AI技术好书
  • ​什么是bug?bug的源头在哪里?
  • #define
  • #pragam once 和 #ifndef 预编译头
  • #每日一题合集#牛客JZ23-JZ33
  • $Django python中使用redis, django中使用(封装了),redis开启事务(管道)
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (阿里云万网)-域名注册购买实名流程
  • (十三)Maven插件解析运行机制
  • (一)认识微服务
  • (转)shell调试方法
  • .NET Reactor简单使用教程
  • .NET:自动将请求参数绑定到ASPX、ASHX和MVC(菜鸟必看)
  • .netcore 获取appsettings
  • .NET大文件上传知识整理
  • .NET企业级应用架构设计系列之结尾篇
  • /etc/shadow字段详解
  • @JsonSerialize注解的使用
  • @TableLogic注解说明,以及对增删改查的影响
  • [ 环境搭建篇 ] 安装 java 环境并配置环境变量(附 JDK1.8 安装包)