混合式App开发 Apicloud 官方iPhone X 适配

iPhone X 适配

由于iPhone X的特殊造型,为了方便开发者对iPhone X进行适配,苹果在iOS 11中引入了Safe Area的概念,引擎也在api对象下添加了safeArea属性和safeareachanged事件,UI设计准则是页面重要的元素需要在安全区域以内,避免被遮挡。

对于大多数应用,通过以下几步基本就可以完成iPhone X的适配,其它的特殊情况如横竖屏切换等则需要结合使用场景另外处理。

注:如果没有iPhone X真机,有需求的开发者可以到这里下载iOS的模块开发工程,使用Xcode9及更高版本将项目运行在iPhone X模拟器上面调试。

一、上传iPhone X启动图

进入控制台端设置,上传iPhone X启动图,图片尺寸为1125*2436,运行效果如下图。若未上传对应的iPhone X启动图或者启动图格式不正确,应用运行在iPhone X上面时上下将有大黑边,不能全屏运行。

二、解决顶部header被遮挡

由于iPhone X顶部的特殊形状,状态栏高度不再是以前的20px,而是变成了44px,如果应用开启了沉浸式效果,那么页面顶部会被遮住部分,如图:

找到api.js中的fixIos7Bar、fixStatusBar方法,用以下代码替换即可。

u.fixIos7Bar = function(el){
    return u.fixStatusBar(el);
};
u.fixStatusBar = function(el){
    if(!u.isElement(el)){
        console.warn(‘$api.fixStatusBar Function need el param, el param must be DOM Element‘);
        return 0;
    }
    el.style.paddingTop = api.safeArea.top + ‘px‘;
    return el.offsetHeight;
};

修改过后的顶部效果如图:

三、解决底部标签栏被虚拟home键遮挡

由上面的图可以看到,页面底部的标签栏也被虚拟home键遮挡住了部分。对于虚拟home键,可以通过openWin和setWinAttr方法的hideHomeIndicator参数来控制显示隐藏,这对于沉浸式体验较高的场景很有用(比如观看视频)。而一般的页面通常的做法是避开虚拟home键,这里参考header的处理,我们在api.js中添加一个fixTabBar方法:

u.fixTabBar = function(el){
    if(!u.isElement(el)){
        console.warn(‘$api.fixTabBar Function need el param, el param must be DOM Element‘);
        return 0;
    }
    el.style.paddingBottom = api.safeArea.bottom + ‘px‘;
    return el.offsetHeight;
}

然后在需要的地方进行调用:$api.fixTabBar($api.byId(‘footer‘)),修改后的效果如图:

PS: 入坑说明

  • Apicloud 里面的App没有全屏模式
    云编译要求上传iPhoneX的启动页,不传不全屏
  • 没有iPhoneX手机,开发调试怎么玩
    更新IOS 10.3 安装新版Xcode,不更新,新的Xcode安装不了,不是新Xcode 没有iPhoneX的模拟器,
    Apicloud 下载模块开发示例项目,在Xcode里跑起来
    没有苹果电脑,那就算了
  • 苹果宣布,四月份全部App适配 iPhoneX
    商店审核不过,如果不更新,不影响

原文地址:https://www.cnblogs.com/yechangzhong-826217795/p/10521417.html

时间: 2024-07-30 16:18:27

混合式App开发 Apicloud 官方iPhone X 适配的相关文章

“H5跨平台APP开发”APICloud从入门到精通

"H5跨平台APP开发"APICloud从入门到精通 课程学习地址:http://www.xuetuwuyou.com/course/164 课程出自学途无忧网:http://www.xuetuwuyou.com 课程介绍:               一.课程使用到的软件 APICloud Studuio(或Sublime.WebStorm加上APICloud插件) Google Chrome浏览器 海马玩手机模拟器(或真机) 二.课程目的:     随着IOS.Android等原生

HTML5来了:5个好用的混合式App开发工具

在残酷的移动互联网竞争环境下, HTML5技术一直受到各方关注,“HTML5颠覆原生 App”的争论也从未停止过,不管怎样HTML5生态的构建方兴未艾.不过对于移动开发者来说更关心的问题是如何低成本.周期短开发出体验效果好的App,所以当下用HTML5远比赌HTML5更现实.于是,一个一直被提及但是从没有占据过统治地位的概念又一次走进了移动开发者们的视野,那就是跨平台开发. 目前国内外已经有很多基于HTML5的跨平台开发工具,你并不需要任何的原生应用编程经验,你只需要一些HTML的相关知识,懂一

iOS开发点滴:iPhone屏幕适配

最近开始做iOS开发,遇到一些小问题和解决方法,记录下. 今天是iPhone屏幕适配 iPhone5出来之后屏幕就有iPhone就有了2种尺寸:3.5寸和4寸,xcode 5 的IB设计器里面界面是4寸的,把按钮放到底部,模拟器选成3.5寸的按钮就看不到了,找到了解决方法: http://stackoverflow.com/questions/18248789/xcode-autosizing-preview-window-missing 注意,文字内容说的是uncheck "Use Autol

北京APP开发,哪个平台才是业内老炮?

在这个信息网络时代,最流行的通讯工具是手机,最受欢迎的是APP,可以说各种各样的APP帮助大家节省的大量的时间,提供给大家更好的享受,所以APP的开发,变成了最为火热的领域.大家都知道,APP的开发并不是一件易事,它包含很多方面,所以每一款APP的开发都需要耗费大量的人力物力,这其中有很多是开发软件所必由之路,所以一款帮助软件开发的有效应用北京APP开发助手APIClould应运而生. APICloud助手结合了大数据时代的特点,以云端一体的理念定位了移动应用的开发,为移动开发者从"云"

APP开发公司排名你知多少?

随着智能手机的普及,现在各种移动APP存在于我们生活的各个角落.社交.购物.餐饮.健身等无一能够离开手机里面的APP.有需求便会衍生供给,各种APP开发公司便如雨后春笋一般充斥市场,作为一家互联网企业是否拥有自己定制的APP似乎也成了一个衡量标准.如何评判现在的APP开发公司的排名呢?怎样来评价一个APP开发公司的好坏?这里我们来分析一下: 是否具有专业资质? 我们寻找一家APP是否具有合作潜力,首先应当关注这个公司是否有专业资质,比如说是否拥有双软认定,CMMI,信息系统集成,ISO9000,

hybrid app开发中用到的html5新特性localStorage、sessionStorage和websql database

最近在项目中进行hybrid app开发,项目中有大量的js代码运行在android设备上.使用到了很多HTML5的新特性,之前没有遇到过,不了解,这里记录下增加点前端的知识.混合式app开发中,经常需要使用缓存功能,比如你在页面表单控件上输入了数据,你希望下次退出app再次进来的时候还能看到这些数据:比如你的项目中有保存草稿的功能,只是先将数据临时存储在本地,以后再提及到服务器.这就需要我们将数据持久地存储在本地,这就需要用到HTML5中的本地化存储解决方案.本文主要介绍下sessionSto

App开发+App定制平台 APICloud

一.APICloud总介绍(www.apicloud.com) APICloud拥有App开发平台和App定制平台.从开放App开发技术,到提供App定制服务,APICloud为个人开发者和企业提出围绕App开发需求的一站式解决方案. 英特尔.春秋航空等知名企业选用APICloud技术服务进行App开发,已经成功上线至苹果等各大应用商店中. 现在APICloud平台中拥有30多万用户,已经创建了50多万个App,每天生成超过5千个App安装包. 二.APICloud的App定制平台介绍(app.

混合式app ionic2.x 手动搭建开发环境教程分享(nodejs,jdk,ant,androidsdk)

1.ionic简介 为什么选用ionic: 彻底开源且免费 性能优异 基于红的发紫的AngularJs 漂亮的UI 强大的命令行(基于更热门的nodejs) 开发团队非常活跃 ngCordova,将主流的Cordova API或者Cordova插件封装为AngularJS扩展,使用非常方便 开源免费的webfont icon库ionicons,基本满足你icon需求 2.相关下载: Node.js(npm安装工具) :  https://nodejs.org/en/ jdk (android编译

物联网APP开发利器之APICloud

本文由嵌入式企鹅圈原创团队成员-华南师范大学物联网创新中心Hende_Zhu先生执笔. 前面文章提到,庆科物联系统为APP端开发提供两种SDK,分别用于Native APP开发和基于APICloud平台的混合模式开发,其中主推APICloud进行APP开发.通过APICloud平台,开发者可以通过使用标准web技术即可完成一款高质量的移动应用(包括iOS以及Android),其所具有的开发周期短.功能模块强大的特点得到IoT开发者的喜爱. 除了庆科以外,机智云也提供了用于APICloud开发的模