iOS 适配全面屏iPhone X系列手机-Swift版
一、如何知道手机是全面屏手机?
网上有好多人使用获取手机型号的方式来判断,本人觉得这种方式没有问题,只是作为一名开发者,大家都知道苹果每年都会更新新的机型。大家肯定不希望在每次苹果发布新机型后去更新版本,目前我有两种判断方式:
1.获取状态栏的高度,全面屏手机的状态栏高度为44pt,非全面屏手机的状态栏高度为20pt
let statusBarHeight = UIApplication.shared.statusBarFrame.height;
print(statusBarHeight);
在公共的文件中定义以下常量即可使用:
//状态栏高度
let statusBarHeight = UIApplication.shared.statusBarFrame.height;
//导航栏高度
let navigationHeight = (statusBarHeight + 44)
//tabbar高度
let tabBarHeight = (statusBarHeight == 44 ? 83 : 49)
//顶部的安全距离
let topSafeAreaHeight = (statusBarHeight - 20)
//底部的安全距离
let bottomSafeAreaHeight = (tabBarHeight - 49)
2.获取底部的底部的安全距离,全面屏手机为34,非全面屏手机为0
let bottomSafeAreaHeight = UIApplication.shared.windows.last?.safeAreaInsets.bottom ?? 0.0;
print(bottomSafeAreaHeight)
使用宏定义以下参数,用于屏幕适配处理
//底部的安全距离
let bottomSafeAreaHeight = UIApplication.shared.windows.first?.safeAreaInsets.bottom ?? 0.0
//顶部的安全距离
let topSafeAreaHeight = (bottomSafeAreaHeight == 0 ? 0 : 24)
//状态栏高度
let statusBarHeight = UIApplication.shared.statusBarFrame.height;
//导航栏高度
let navigationHeight = (bottomSafeAreaHeight == 0 ? 64 : 88)
//tabbar高度
let tabBarHeight = (bottomSafeAreaHeight + 49)
iOS 适配全面屏iPhone X系列手机-Swift版相关推荐
- iOS 关于全面屏适配的方案及UI在不同尺寸下适配方案
前言 全面屏刚出时,网上有说反人类.但过去这么久了,趋于技术的进步或看久了,大家也都慢慢习惯了(只是笔者还是买不起全面屏).官方适配中文版文档也出来了. 图源:( baijiahao.baidu.co ...
- Android 系统(156)----Android APP适配全面屏手机的技术要点
为了更好的阅读体验,可以转到我的个人站点:Windy'Journal 目录 目录 关于全面屏 更大的屏幕高宽比例 在AndroidManifest.xml声明max_aspect值 更换部分被拉伸的图 ...
- iOS 14上全面屏iPhone的状态栏高度
GitHub地址 问题 有些情况下,我们需要获取屏幕的状态栏高度,很多人使用类似下面的宏: #define StatusBar_HEIGHT (DEVICE_IS_FULL_DISPLAY ? 44. ...
- Android APP适配全面屏手机的技术要点-转载
Android APP适配全面屏手机的技术要点 Windy_816 关注 2018.02.07 21:27* 字数 4010 阅读 5440评论 7喜欢 23 转载-来源 :https://www. ...
- 安卓全面屏总结及测试手机型号-RN适配全面屏总结
水滴屏:(头部有摄像头,底部没有需要适配,但是华为手机可以设置底部虚拟按键) 准备使用的手机为华为P30测试 软件示意图如下: . 刘海屏:(头部有摄像头和听筒,底部带虚拟按键) 华为Mate 2 ...
- android 适配全面屏手机
什么是全面屏 全面屏跟曲面屏,这是两个不同的概念. 一般手机的屏幕纵横比为16:9,如1080x1920.1440x2560等,其比值为1.777777--,全面屏手机出现之前,Android中默认的 ...
- Android APP适配全面屏手机的技术要点
为了更好的阅读体验,可以转到我的个人站点:Windy'Journal 欢迎关注个人技术号:Android葵花宝典 获取最新的Android高级进阶知识点,以及Android逆向方法. 关于全面屏 全面 ...
- “地表最贵iPhone”到货,iPhone XS 系列手机等你来测!
作者:We Test小编 商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处. 原文链接:https://wetest.qq.com/lab/view/411.html WeTest 导读 ...
- 苹果的全面屏真的可以引领手机领域吗?
苹果手机的节奏终于在2017年被打破,跳过了iPhone 7s直接迈进苹果8时代,并推出了搭载全面屏的iPhone X.正如很多果粉所说,苹果终于彻底洗涮掉了乔布斯的印记,正式迈入库克时代. 在苹果手 ...
最新文章
- 敏感词过滤,PHP实现的Trie树
- java 循环3次_想请教下如何用for循环猜错3次就退出游戏
- JavaScript笔记(3)
- 再谈二叉树(二叉树概念,二叉树的性质,二叉树的存储结构)
- Oracle插数据timeout,oracle 11g 频繁报kmgs_parameter_update_timeout
- dev用不了_跟风喊AMD YES?很多生产力项目,你必须用IU
- 把百度网站设为首页_网站百度推广效果好不好?怎样才能把网站推广到百度首页?...
- OpenResty+Lua+redis+mysql实现高性能高可用限流缓存
- Numpy Math functions
- Repeater绑定数组
- C#cmd执行命令隐藏窗口,并保持程序一直运行
- 【015】基于51单片机的LCD1602流动字符串proteus仿真设计
- pcl小知识(十二)—— 斯坦福兔子和其他图形学模型数据下载
- 使用MindStudio进行MindX SDK财务票据OCR识别开发
- mapgis明码文件转为点线面文件_MapGIS明码文件的获得和在坐标转化中的应用研究(2)...
- SeedLab1: Sniffing Spoofing Lab
- 厦门大学计算机调剂要求,厦门大学考研调剂复试有什么要求
- CPU卡技术学习笔记1
- 放飞自我的体验,真无线耳机该如何让选择
- win10 mysql 卸载不干净,安装提示,已经存在