iOS 11 IPhoneX 适配不得不说的一些事儿

来源:互联网 发布:dota27.07知乎 编辑:程序博客网 时间:2024/05/19 21:18

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/

原创粉丝点击