本文主要是介绍iOS 11 IPhoneX 适配不得不说的一些事儿,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
iPhoneX的适配你需要注意:
准备工作:safeArea 安全区: 苹果ba ba 设计的iPhoneX 去掉了home 键, 增加了faceID 功能,增强了相机功能,然后头部就有了刘海(左右两侧显示 原来status信息。home键去了加了个Home Indicator(将硬件换成视图,来增大屏幕,官方不建议这些区域有其他app处理),为避免操作的不流畅, 然后就有了安全区的概念(竖屏:从statusBar开始直到Home Indicator之间的面积;横屏时 原来的竖屏的高做了横屏的宽。 Home Indicator的高度为21pt,需要格外注意)。为了功能,设计可以做点让步。
1. 加载页1125*2436.需要告知美工& 设计 你的加载页可能需要重新设计,注意尺寸。
2.引导页。作为一个比较最求完美的coder,还是得和美工&设计多要尺寸不同的图。按设备分开展示。
3.带刘海儿的导航栏。iPhoneX高度 88 pt , statusBar 高度变为44pt 。
适配:a.要么自定义 ,代码控制一下iOS11之前 和iOS11 之后的导航栏的内部视图展示 b. 要么用原生,不用管理适配。先给barbuttonItem 一个底座view,撑开stackView, view 添加页面处理的手势。最后把 需要展示的视图加在底座view上。什么?你不知道stackView。 请打开Xcode, sdk 11.0 的运行项目。 在有导航栏的页面 打开3D模型截图。你就看到iOS11 之后 stackview 成为了承载 barbuttonItem的baba。 啥也别说了,叫 ba ba...。讲道理,为了减少代码污染和增加对旧模块的支持。苹果 将 barbuttonItem 放在stackView 上,然后适配页面。嗯嗯,学到了。
4. tabbar. iPhoneX尺寸 高度83pt. 增加了34pt 的 Home Indicator。
适配:a. 自定义需要自己控制布局方式,空出Home Indicator的位置 b.用系统的bar 你很幸运,不用做任何操作。
5.页面适配
iOS11中 controller 新增viewSafeAreaInsetsDidChange方法,该方法执行在viewDidLoad之后( 初始化加载页面用的很爽,但是对一些动画的view(eg:从底部往上0.5s动画,还是得手动控制布局,或许我还没研究全)、
view 新增safeAreaInsetsDidChange方法,该方法执行在init之后()。
另外,添加动画的页面也需要控制布局,让其处于安全区内。
ps: 就算处于安全区外,视图还是可以正常事件处理。以上处于模拟器上实验,真机没试过。I'm not enough rich now .
详细参考:
苹果开发文档和官网视频
http://www.jianshu.com/p/670318acae90
http://blog.csdn.net/liqunzhang/article/details/78031641
https://www.lee1994.com/guan-yu-iphone/
这篇关于iOS 11 IPhoneX 适配不得不说的一些事儿的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!