超简单 iOS屏幕适配 支持新手机 iPhone XR iPhone XS
随着苹果爸爸发布了 超牛叉的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相关推荐
- iOS屏幕适配 支持新手机 iPhone XR iPhone XS 超简单
随着苹果爸爸发布了 超牛叉的iPhone iPhone X .iPhone XR.iPhone XS .iPhone XS Max.开发者的适配工作要开始了. 停,?. 如果app 适配过 iPhon ...
- IOS 屏幕适配(一)理论篇
IOS 屏幕适配(一)理论篇 1. IOS 屏幕适配基本概念 1.1 IOS 设备的尺寸和分辨率 1.1.1 分辨率相关概念 1.1.2 IOS 各个设备对应的分辨率 1.2 设计和开发之间的多屏适配 ...
- IOS屏幕适配(四)最新系统IOS13适配
IOS屏幕适配(四)最新系统IOS13适配 3. IOS 最新系统适配问题 3.1 IOS 13 适配 3.1.1 即将废弃的 LaunchImage 3.1.2 Sign in with Apple ...
- IOS 屏幕适配理论篇
@[TOC](IOS 屏幕适配(一)理论篇) 1. IOS 屏幕适配基本概念 1.1 IOS 设备的尺寸和分辨率 1.1.1 分辨率相关概念 点(Points): 是iOS开发中引入的抽象单位,称作点 ...
- iOS 【适配iPhone XR/iPhone XS Max】
启动图 iPhone XR:828px x 1792px iPhone XS Max: 1242px x 2688px LaunchImage中只有iPhone X/iPhone XS 项目中使用La ...
- H5移动端网页适配iPhone x/iPhone xr/iPhone 11pro/iPhone 11/iPhone 12 机型底部小黑条
iPhone x/iPhone xr/iPhone 11pro/iPhone 11/iPhone 12 取消了物理按键,改成底部小黑条,这一改动导致网页出现了比较尴尬的屏幕适配问题.对于网页而言,顶部 ...
- 如何激活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 ...
- iOS 屏幕适配 iPhone X SafeArea安全区域
三月份工作 9月份才开始自己主动了解安全区域适配问题 一. 前言 本文的出发点是对iOS设备的适配, 我们之前的适配只是考虑设备的尺寸, 设备的方向, 而在iPhoneX出来之后呢, 我们又多了一种考 ...
- iOS屏幕适配方案-Auto Layout
市场上的android手机五花八门.各种尺寸的屏幕让android程序员们比較头疼. 也有一些大神写了一些博客提出了自己的观点.iOS貌似也迎来了大屏6+,因此屏幕适配的问题也是有滴,因此苹果也有自己 ...
最新文章
- 2021-05-09
- 超长整数相加 c语言类,二个超长正整数的相加
- 宏EXPORT_SYMBOL在内核中的作用
- php上传原生代码,腾讯云cos-php-sdk-v5的原生代码上传方式
- 迷宫问题 POJ - 3984
- 创造黑科技,守护新未来 | 360公司2019年春季校园招聘正式启动!
- 消除左递归实验代码_「leetcode」669. 修剪二叉搜索树:【递归】【迭代】详解!
- ++i 和 i++ 性能上的区别
- paip.c++ 正则表达式的应用跟普通正则表达式的区别以及特别注意点总
- 为什么游戏加速器都会设置韩国节点
- java开发工程师报名费多少_JAVA软件工程师资格证书 怎么考
- ecshop模板支持html,免费ecshop响应式设计手机wap自适应dossy整站模板
- RSA中 底数m和模数 n 不互素是仍然成立
- 激光雷达学习笔记(一)数据采集
- 自制表情包!android,diy表情包制作软件下载-diy表情包 安卓版v2.6.0-PC6安卓网
- 用Python实现自动化测试
- 大数据可视化工具圈里的春秋战国
- 我的世界模拟大都市里java_我的世界1.7.10模拟大都市整合包
- R语言替换某一列中某个特定数值
- css中div超出自动换行
热门文章
- 什么无线耳机性价比高又好用?好用的无线蓝牙耳机推荐
- 最简单的matplotlib安装教程
- Android Studio使用Git提交、分支、切换,android开发艺术探索
- 您认为博士期间最重要的事情是什么?
- Ubuntu 用虚拟机安装(图文)
- 虚拟机安装Ubuntu操作系统(详细安装教程)以及快照创建使用
- cocos creator 2.4.3cc.assetManager.loadRemote 加载不了微信头像
- SY8060,矽力杰DCDC,禾川兴科技,资源,方案2.22.2.22
- sigmoid、 tanh、 tanh、 tanh比较
- 微机原理:汽车速度控制系统的设计与实现