iPhoneX快速适配,简单到你想哭。
研究了5个小时的iPhoneX适配。 从catalog,storyboard,safearea等一系列文章中发现。
如果我们想完全撑满全屏。那直接建一个storyboard就好了。
但撑满全屏后,流海就是一个恶心的问题。
思索半天后,我们发现,其实我们想要的。并不是撑满。 而是要去除留海部分。
那有没有一种办法,干脆就让我们的iPhoneX达到和iPhone6一样的显示效果呢。 或许这才是我们想要的。 下面的代码,放入每一个场景的onLoad中,靠热更新,就能支持iPhoneX了,效果不要不要的。(思路就是,iPhoneX下面,用ShowAll)
if(cc.sys.isNative && cc.sys.platform == cc.sys.IPHONE){
var size = cc.view.getFrameSize();
var isIphoneX = (size.width == 2436 && size.height == 1125)
||(size.width == 1125 && size.height == 2436);
if(isIphoneX){
var cvs = this.node.getComponent(cc.Canvas);
cvs.fitHeight = true;
cvs.fitWidth = true;
}
}
总结一下步骤
1、新建一个Laucn Screen.storyboard
2、删除所有View下面的内容,SafeArea也要去掉
3、General里面,使用这个Launch Screen作为加载屏
这里想要达到最好的效果,还有设计分辨率有关。
比较推荐的是 1280 x 640. 在其他设备上,默认使用 定宽策略。 也就是说,高度上做自适应。 背景图做成 1280 x 960 就可以适配到iPad了。 (如果之前用的是1280 x 720的设计分辨率,也不打紧。勉强可以用)。
1280 x 640的设计分辨率,见下图。
之前为了适配ipad也是用的这招!只不过上下会有黑边,但游戏内容一览无余。
let isNotFit = cc.winSize.width / cc.winSize.height <= 1.65;
let canvas = this.node.getComponent(cc.Canvas);
if (isNotFit) {
canvas.fitHeight = true;
canvas.fitWidth = true;
}
iPhoneX快速适配,简单到你想哭。的更多相关文章
- 快速部署简单私有云CloudStack(上)
前言: 亲身用了大半年,没出过重大毛病,也就是服务挂了,跟服务器也没啥关系.如果想更深入学习cloudstack可以试试高级网络,我是一直用的简单网络(扁平网络). 由来:CloudStack的前身是 ...
- 使用vue-cli3快速适配H5项目
跟我老大学到了一招使用vue-cli3快速适配H5项目的方法. 我之前也有进行一个版本的适配,直接使用cnpm install -g vue-cli,然后安装各种插件进行适配,见我之前的博客. 后来老 ...
- 拿nodejs快速搭建简单Oauth认证和restful API server攻略
拿nodejs快速搭建简单Oauth认证和restful API server攻略:http://blog.csdn.net/zhaoweitco/article/details/21708955 最 ...
- iOS开发——适配篇&App适配简单概括
App适配简单概括 1:适配:适应.兼容各种不同的情况 系统适配 针对不同版本的操作系统进行适配 屏幕适配 针对不同大小的屏幕尺寸进行适配 在用户眼中 屏幕是由无数个像素组成的 像素越多,屏幕越清晰 ...
- 使用Django快速搭建简单的数据管理后台
使用Django快速搭建简单的数据管理后台 概述 需求描述: 数据表已建好,能可视化操作增删改查,避免直接操作数据库 简版的管理系统 环境 Windows 10 x64 Python 3.6.3 (A ...
- [Xcode 实际操作]九、实用进阶-(25)使用Storyboard(故事版)的约束功能,使项目快速适配各种分辨率的设备
目录:[Swift]Xcode实际操作 本文将演示使用故事版的约束功能,使项目快速适配各种分辨率的设备. 在项目导航区打开并编辑主故事版[Main.storyboard]. 在当前故事版中,已经存在一 ...
- 苦酒入喉心作痛,红酒入鹅鹅想哭——震惊!勒索病毒想哭靠wine感染了Ubuntu16.04
都说linux能免疫win的病毒来着…… 今天作死,逛贴吧时好奇下载了一个想哭2.0 (http://pan.baidu.com/share/link?shareid=1393367320&u ...
- 从蓝瘦“想哭”到 SELinux 看操作系统安全何在
最近一周,来自网络的"想哭"勒索病毒(Wannacry Ransomware)在世界各地同时上演了一部绑匪大片,台词华丽,演技出色,当仁不让地新晋世界第一网红.全球各国除了默默忙于 ...
- 使用Redis bitmaps进行快速、简单、实时统计
原文:Fast, easy, realtime metrics using Redis bitmaps (http://blog.getspool.com/2011/11/29/fast-easy-r ...
随机推荐
- go语言调用append之后是否重新分配内存?
查看tidb源代码:::util/charset/charset.go,下面有段代码: // GetAllCharsets gets all charset descriptions in the l ...
- 苹果应用商店逾千款iOS应用存安全漏洞
据国外网站Ibtimes报道,知名网络安全公司FireEye日前警告称,由于一款名为“JSPatch”.可帮助开发者修改应用程序的软件上存在安全漏洞,导致苹果应用商店内1000多款使用了该框架的iOS ...
- 【原创】SAP/Oracle 集团企业海外全球化实施注意事项: 一带一路本地化 (持续更新)
ABC集团SAP的系统平台已经扩展到全球一百来个国家和地区,SAP系统平台的全球实施项目中, 当时是需要支持当地的业务和法律法规的合规要求. 当时客户也是缺乏当地的资源以及对当地法律法规和业务实践的了 ...
- php 实现双向链表
/** * 链表元素结点类 */ class Node { public $pre = NULL; // 前驱 public $next = NULL; // 后继 public $data = NU ...
- redis出现错误:NOAUTH Authentication required.
出现认证问题,应该是设置了认证密码,输入密码既可以啦 注意密码是字符串形式! 127.0.0.1:6379> auth "yourpassword" 127.0.0.1:63 ...
- geotrellis使用(四十一)流水线技术
前言 之前 GeoTrellis 为方便用户将数据(GeoTiff 等遥感影像)导入到 backend (包含 Accumulo.File.Hadoop 等格式)中,编写了一个 ETL 类,该类的输入 ...
- linux的基本操作(NFS服务配置)
服务配置 [什么是NFS] NFS会经常用到,用于在网络上共享存储.这样讲,你对NFS可能不太了解,笔者不妨举一个例子来说明一下NFS是用来做什么的.假如有三台机器A.B.C,它们需要访问同一个目录, ...
- Spring-boot(二)--thymeleaf
@Controller @RequestMapping("/") public class MessageController { private final MessageRep ...
- linux中的pwd
https://www.cnblogs.com/crazylqy/p/5818745.html
- Python学习之旅(二十一)
Python基础知识(20):错误.调试和测试 一.错误处理 在运行程序的过程中有可能会出错,一般我们会在添加一段代码在可能出错的地方,返回约定的值,就可以知道会不会出错以及出错的原因 1.使用try ...