iPhone X 的到来,惊艳的是果粉,苦逼的是程序猿。今天升级到Xcode9.0,运行项目,所谓的全屏 iPhone X,but 页面好像也没有全屏,于是根据之前的适配经验,总算初步解决了这个问题,记录如下,以备后需。

App 页面适配

适配前

问题:App 未全屏显示

解决办法

LaunchImage 中添加一个和 iPhone X 相关的启动图片
* 图片尺寸:1125 * 2436
* Contents.json 中代码如下

{"extent" : "full-screen","idiom" : "iphone","subtype" : "2436h","filename" : "1125_2436.png","minimum-system-version" : "11.0","orientation" : "portrait","scale" : "3x"
}

适配后

页面布局细节

Safe Area

动机

  • iPhone X 取消了 Home键,实现了高屏占比,所以默认 View 的区域是全屏幕
  • 屏幕四周有圆角、顶部有“刘海”、底部有手势区域
顶部导航栏


* 注意:导航栏高度是 44 + 44

底部手势区域

Safe Area 如下图 (红色区域)

Safe Area 大小

竖屏
▿ UIEdgeInsets- top : 44.0
  - left : 0.0
  - bottom : 34.0
  - right : 0.0
横屏
  - top : 0.0
  - left : 44.0
  - bottom : 21.0
  - right : 44.0

自动布局时的注意点

  • iOS11 以前,我们布局时,视图的 top 和 bottom 一般参照的是 Top Layout GuideBottom Layout Guide
  • iOS11 以后,那两个参照已经 deprecated (过时)了,而被 Safe Area 取代。
  • Safe Area 要求最低支持 iOS9.0

但凡和父视图相关的 top 或者 bottom 属性的自动布局,应该参照 Safe Area。(之前默认是 Superview,当然如果产品允许,那就是另一回事了)

  • 选择 Safe Area布局示例如下:

  • 未选择 Safe Area布局示例如下:

网上有看到有黑iPhone X的,说用它没法玩王者荣耀等游戏,理由是可能看不到自己有多少钱或者推塔键和信号键没了,对此估计是多虑了!iPhone X 出售之前,游戏厂商肯定会做适配,高屏占比只会提高游戏体验,不会产生那么严重的视觉问题的。

  • 适配前后,效果图示例如下:

Xcode9 适配

WKWebViewJavascriptBridge

// 原贴地址:https://github.com/marcuswestin/WebViewJavascriptBridge/issues/278
- (void)webView:(WKWebView *)webView
decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction
decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler {// ……// Xcode 升级到9后 WKWebViewJavascriptBridge.m 中有个 bug// 需要在"decisionHandler(WKNavigationActionPolicyCancel);"后加上 return,否则崩溃。// 不升级 Xcode 的话,没问题。decisionHandler(WKNavigationActionPolicyCancel);return;
}

部分页面适配 iPhone X

底部有按钮的页面

适配前

其底部约束如下图:

适配后

其底部约束如下图:

控制器生命周期之viewSafeAreaInsetsDidChange

  • viewDidLoad
  • viewWillAppear
  • viewSafeAreaInsetsDidChangeNEW
  • viewWillLayoutSubviews
  • viewDidAppear

可以在 viewSafeAreaInsetsDidChange 后,设置 Safe Area

if #available(iOS 11.0, *) {self.additionalSafeAreaInsets = UIEdgeInsetsMake(10, 0, 0, 34)
}

内容不定时更新,未完待续 ~~~
我相信填的坑越多,后面的路越好走,加油!

iPhoneX 适配笔记相关推荐

  1. ios iphonex适配

    一.前言 iOS11发布也有一段时间了,每次版本升级,相关的适配工作当然是下个版本的核心工作之一.而且这次iOS11的更新,相对于iOS10的更新来说,改动点还是比较多的.除了iOS11系统的更新之外 ...

  2. 苹果状态栏HTML,有关HTML5页面在iPhoneX适配问题

    ​1.  iPhoneX的介绍 屏幕尺寸 我们熟知的iPhone系列开发尺寸概要如下: △ iPhone各机型的开发尺寸 转化成我们熟知的像素尺寸: △ 每个机型的多维度尺寸 倍图其实就是像素尺寸和开 ...

  3. H5中 iphoneX适配

    关于H5页面在iPhoneX适配 ​1.  iPhoneX的介绍 屏幕尺寸 我们熟知的iPhone系列开发尺寸概要如下: △ iPhone各机型的开发尺寸 转化成我们熟知的像素尺寸: △ 每个机型的多 ...

  4. iphonex适配游戏_iPhoneX王者荣耀适配问题 iPhoneX游戏问题详解

    王者荣耀v1.31.4.18 安卓最新官方版 类型:角色扮演大小:469.3M语言:中文 评分:7.6 标签: 立即下载 iPhoneX是苹果最近上市的一款非常高端的手机,相信很多小伙伴在iPhone ...

  5. iPhoneX适配问题 iOS刘海屏 安全区域处理 IOS小黑条处理 IOS兼容处理

    IphoneX适配问题 iOS刘海屏 安全区域处理 前言 适配前需要了解的几个关键字 安全区域 viewport-fit env() 和 constant() 适配的方法 第一步 设置网页在可视区的布 ...

  6. Android全面屏适配笔记

    由于现在的刘海屏.穿孔屏越来越多,所以现在针对这些屏幕的适配工作也越来越麻烦.有必要自己记录一份适配笔记了,防止以后要用的时候在网上找不到. (这是在没有做任何适配的情况下,直接运行老代码的效果.可以 ...

  7. iPhoneX 适配方案

    绝对长度单位 英寸 厘米 毫米 磅 pc inch cm mm pt pica 相对长度单位 是网页设计中使用最多的长度单位,包括px.em.rem等 屏幕尺寸 指屏幕的对角线的长度,单位是英寸,1英 ...

  8. 有关HTML5页面在iPhoneX适配问题

    这篇文章主要介绍了有关HTML5页面在iPhoneX适配问题,需要的朋友可以参考下 ​1.  iPhoneX的介绍 屏幕尺寸 我们熟知的iPhone系列开发尺寸概要如下: △ iPhone各机型的开发 ...

  9. iphone x php兼容吗,关于iphoneX 适配客户端H5页面的问题

    这篇文章主要给大家介绍了关于iphoneX 适配客户端H5页面的相关资料,文中介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面一起学习学习吧. 前言 目前,很多APP设计师 ...

最新文章

  1. 拼多多谋定500个供应链品牌 农民丰收节交易会“拼农货”
  2. 数据结构(三)之单链表反向查找
  3. [Objective-C语言教程]动态绑定(32)
  4. LeetCode 66. 加一
  5. 初识C++之运算符重载
  6. C#转C++的一点分享
  7. max日期最大值为0_C语言编写程序输出10个整数中最小值或最大值
  8. CentOS _ RHEL 防止Kernel升级
  9. 如何编写高效优雅 Java 程序
  10. H3C PBR实验(策略路由)
  11. javascript轻松解决前端数据排序(互换,置顶,上移,下移),快收藏吧
  12. 青岛理工大学QUT期末考试《电子商务概论》思维导图
  13. python处理ts_python将ts转换成MP4
  14. 2017年杭州市大学生自主创业政策
  15. 西南大学计算机科学学院官网,西南大学计算机与信息科学学院研究生导师简介-李艳涛...
  16. 封闭解、解析解和数值解定义
  17. 在unik中,写一个Go HTTP服务器
  18. 用python庆祝生日_雷吉娜用搞笑的歌曲庆祝自己50岁的生日:“今天一个婊子老了”...
  19. winSCP 集成PuTTY附下载
  20. 晨读一年的复盘会议_一年后,在家中远程办公,网真和视频会议

热门文章

  1. 工资条: EmailSender部分
  2. php红包退回通知,PHP红包算法
  3. Detecting Causality in Complex Ecosystems(检测复杂生态系统中的因果关系附件)
  4. 首金奥运健儿杨倩,获得金牌和奖金缴纳个税吗?雅戈尔赠送她一套房,交税吗?
  5. 结合《穹顶之下》看中、美宽带提速
  6. 认识 ESP-IDF-v4.3+工程结构(ESP32-C3应用调整示例)
  7. 选中物体高亮显示(MR开发日志)
  8. VulnHub系列之Lampiao渗透测试
  9. 计算机无法安装windows系统怎么办,电脑无法安装Win10怎么解决
  10. 单击屏幕亮屏流程分析