随着苹果爸爸发布了 超牛叉的iPhone iPhone X 、iPhone XR、iPhone XS 、iPhone XS Max、开发者的适配工作要开始了。

停,?。

如果app 适配过 iPhone X、新机子不用怎么适配的了。

如果你之前的适配、都是写死的。

建议你写活吧。万一,苹果爸爸发布全面屏的iPhone呢?

先看看新手机嘛

新手机和 iPhone X相同、都是刘海屏、

适配刘海屏即可啦

如何适配刘海屏?

下图是 iPhone X 对比其他机型的变化部分。iPhone X 和 iPhone 8 的宽度一致,在垂直方向上多了145pt,这就意味着首页可以展示更多的内容,多出来的这20%的垂直空间,也许可以挂上更高价值的运营位。

一、StatusBar

iPhone X 上的 StatusBar 高度比之前的 iPhone 高一些,也就是说,我们如果写死20pt高度的 frame 布局,都要大面积修(tu)改(xue)。在 iPhone X 上,通过打印 [[UIApplication sharedApplication] statusBarFrame] 可以看到,高度是44pt。

"如果你的 App 是隐藏 StatusBar 的,建议重新考虑。iPhone X 为用户在垂直空间上提供了更多展示余地,且状态栏中也包含了用户需要知道的信息,除非能通过隐藏状态栏带给用户额外的价值,否则苹果建议大家将状态栏还给用户。"

另外还有一点,用户在使用 iPhone X 打电话的时候,StatusBar 的高度也不会发生变化了。

二、屏幕底部

因为没有了 Home 键,iPhone X 的底部是预留给系统功能的一个区域 - Home Indicator,这部分的高度是34pt。

iPhone X 的 Home Indicator 区域

“如果你的底部是 TabBar,那么 Home Indicator 背景会来自于 TabBar 背景的延伸,如果我们是一个 feed 流的页面,那么底部会展示 feed 流的局部。”

意思是如果有 TabBar,那么那个区域会延展你的 barTintColor;没有的话,就显示透明的(参照 Setting)。之所以这么设计,是为了让 indicator 清晰可见,告诉用户你可以滑动这部分区域。所以苹果不建议我们的 UI 元素过于靠近这部分区域。

三、适配进行

将原来的替换、审查每个界面、减去新增的高度

四、使用safeAreaInsets

现在没有用到safeAreaInsets来进行适配,是应为在IB界面里,safeAreaInsets支持的最低版本为iOS 9.0,

我们还需要兼容之前的版本。所以这里没有介绍这种方法。

至此、屏幕简单适配结束啦。

有什么不恰当的地方,欢迎指正。

附上上述代码

#define kStatusBarHeight [[UIApplication sharedApplication] statusBarFrame].size.height#define kNavBarHeight 44.0#define kTopHeight (kStatusBarHeight + kNavBarHeight)#define kTabBarHeight ([[UIApplication sharedApplication] statusBarFrame].size.height>20.1?83.0:49.0)#define kTabBarArcHeight ([[UIApplication sharedApplication] statusBarFrame].size.height>20.1?34.0:0.0)//替换 64px →kTopHeight//替换 49px →kTabBarHeight

超简单 iOS屏幕适配 支持新手机 iPhone XR iPhone XS相关推荐

  1. iOS屏幕适配 支持新手机 iPhone XR iPhone XS 超简单

    随着苹果爸爸发布了 超牛叉的iPhone iPhone X .iPhone XR.iPhone XS .iPhone XS Max.开发者的适配工作要开始了. 停,?. 如果app 适配过 iPhon ...

  2. IOS 屏幕适配(一)理论篇

    IOS 屏幕适配(一)理论篇 1. IOS 屏幕适配基本概念 1.1 IOS 设备的尺寸和分辨率 1.1.1 分辨率相关概念 1.1.2 IOS 各个设备对应的分辨率 1.2 设计和开发之间的多屏适配 ...

  3. IOS屏幕适配(四)最新系统IOS13适配

    IOS屏幕适配(四)最新系统IOS13适配 3. IOS 最新系统适配问题 3.1 IOS 13 适配 3.1.1 即将废弃的 LaunchImage 3.1.2 Sign in with Apple ...

  4. IOS 屏幕适配理论篇

    @[TOC](IOS 屏幕适配(一)理论篇) 1. IOS 屏幕适配基本概念 1.1 IOS 设备的尺寸和分辨率 1.1.1 分辨率相关概念 点(Points): 是iOS开发中引入的抽象单位,称作点 ...

  5. iOS 【适配iPhone XR/iPhone XS Max】

    启动图 iPhone XR:828px x 1792px iPhone XS Max: 1242px x 2688px LaunchImage中只有iPhone X/iPhone XS 项目中使用La ...

  6. H5移动端网页适配iPhone x/iPhone xr/iPhone 11pro/iPhone 11/iPhone 12 机型底部小黑条

    iPhone x/iPhone xr/iPhone 11pro/iPhone 11/iPhone 12 取消了物理按键,改成底部小黑条,这一改动导致网页出现了比较尴尬的屏幕适配问题.对于网页而言,顶部 ...

  7. 如何激活iPhone XR和XS上的eSIM

    原文https://appletoolbox.com/2018/10/how-to-use-dual-sim-and-esim-on-iphone-xr-and-xs/#How_To_Set-Up_e ...

  8. iOS 屏幕适配 iPhone X SafeArea安全区域

    三月份工作 9月份才开始自己主动了解安全区域适配问题 一. 前言 本文的出发点是对iOS设备的适配, 我们之前的适配只是考虑设备的尺寸, 设备的方向, 而在iPhoneX出来之后呢, 我们又多了一种考 ...

  9. iOS屏幕适配方案-Auto Layout

    市场上的android手机五花八门.各种尺寸的屏幕让android程序员们比較头疼. 也有一些大神写了一些博客提出了自己的观点.iOS貌似也迎来了大屏6+,因此屏幕适配的问题也是有滴,因此苹果也有自己 ...

最新文章

  1. 2021-05-09
  2. 超长整数相加 c语言类,二个超长正整数的相加
  3. 宏EXPORT_SYMBOL在内核中的作用
  4. php上传原生代码,腾讯云cos-php-sdk-v5的原生代码上传方式
  5. 迷宫问题 POJ - 3984
  6. 创造黑科技,守护新未来 | 360公司2019年春季校园招聘正式启动!
  7. 消除左递归实验代码_「leetcode」669. 修剪二叉搜索树:【递归】【迭代】详解!
  8. ++i 和 i++ 性能上的区别
  9. paip.c++ 正则表达式的应用跟普通正则表达式的区别以及特别注意点总
  10. 为什么游戏加速器都会设置韩国节点
  11. java开发工程师报名费多少_JAVA软件工程师资格证书 怎么考
  12. ecshop模板支持html,免费ecshop响应式设计手机wap自适应dossy整站模板
  13. RSA中 底数m和模数 n 不互素是仍然成立
  14. 激光雷达学习笔记(一)数据采集
  15. 自制表情包!android,diy表情包制作软件下载-diy表情包 安卓版v2.6.0-PC6安卓网
  16. 用Python实现自动化测试
  17. 大数据可视化工具圈里的春秋战国
  18. 我的世界模拟大都市里java_我的世界1.7.10模拟大都市整合包
  19. R语言替换某一列中某个特定数值
  20. css中div超出自动换行

热门文章

  1. 什么无线耳机性价比高又好用?好用的无线蓝牙耳机推荐
  2. 最简单的matplotlib安装教程
  3. Android Studio使用Git提交、分支、切换,android开发艺术探索
  4. 您认为博士期间最重要的事情是什么?
  5. Ubuntu 用虚拟机安装(图文)
  6. 虚拟机安装Ubuntu操作系统(详细安装教程)以及快照创建使用
  7. cocos creator 2.4.3cc.assetManager.loadRemote 加载不了微信头像
  8. SY8060,矽力杰DCDC,禾川兴科技,资源,方案2.22.2.22
  9. sigmoid、 tanh、 tanh、 tanh比较
  10. 微机原理:汽车速度控制系统的设计与实现