与以往的iPhone不同,这次X用iPhone上了时下流行的全面屏设计,屏幕的分辨率和比例都是苹果首次采用,而且还有个“别致的刘海”,这就需要现有iPhone的应用程序为X重新作适配了。
所以iPhone X的到来,惊艳的是果粉,苦逼的是程序猿。今天升级到Xcode9.0,运行项目,所谓的全屏iPhone X,但页面好像也没有全屏,于是根据之前的适配经验,总算初步解决了这个问题,记录如下,以备后需。
<>强适配前强>
问题:应用未全屏显示
<强> LaunchImage中添加一个和iPhone X 相关的启动图片强>
*图片尺寸:1125 * 2436
*内容。json中代码如下
{ “程度”:“全屏”, “成语”:“iphone”, “子类型”:“2436小时”, “文件名”:“1125 _2436.png” “minimum-system-version”:“11.0”, “方向”:“肖像”, “规模”:“3 x” }
<>强适配后强>
<强>安全区强>
动机
iPhone X取消了键,实现了高屏占比,所以默认视图的区域是全屏幕
屏幕四周有圆角,顶部有“刘海”,底部有手势区域
顶部导航栏
,
:导航栏高度是44 + 44
底部手势区域
<强>安全区域如下图(红色区域)强>
安全区域大小竖屏
& # 9663;UIEdgeInsets -最高:44.0 左:0.0 ——底部:34.0 右:0.0
横屏
-最高:0.0 左:44.0 ——底部:21.0 右:44.0
自动布局时的注意点
-
<李> iOS11以前,我们布局时,视图的顶部和底部一般参照的是顶部布局指南和底部布局指导李>
<李> iOS11以后,那两个参照已经弃用(过时)了,而被安全的地方取代。李>
<李>安全区域要求最低支持<强> iOS9.0 强> 李>
但凡和父视图相关的顶部或者底属性的自动布的局,应该参照安全区域。(之前默认是父视图,当然如果产品允许,那就是另一回事了)
选择安全区布局示例如下:
未选择安全区布局示例如下:
网上有看到有黑iPhone X的,说用它没法玩王者荣耀等游戏,理由是可能看不到自己有多少钱或者推塔键和信号键没了,对此估计是多虑了! iPhone X出售之前,游戏厂商肯定会做适配,高屏占比只会提高游戏体验,不会产生那么严重的视觉问题的。
适配前后,效果图示例如下:
WKWebViewJavascriptBridge
//原贴地址:https://github.com/marcuswestin/WebViewJavascriptBridge/issues/278 - (void) webView: (WKWebView *) webView didFailNavigation:(WKNavigation *)导航 {withError:(NSError *)错误//?/Xcode升级到9后WKWebViewJavascriptBridge。米中有个错误//需要在“decisionHandler (WKNavigationActionPolicyCancel);”后加上回来,否则崩溃。//不升级Xcode的话,没问题。 decisionHandler (WKNavigationActionPolicyCancel); 返回; }iPhoneX各种适配记录笔记(超全面)