iPhone X系列 的获取 - 安全区顶部和底部高度
///1. 获得当前窗口
var JY_WINDOW: UIWindow? {
get{
if let app = UIApplication.shared.delegate as? AppDelegate {
return app.window
}
return nil
}
} //2. iPhoneX系列
var iphoneX_Series: Bool {
get { if UIDevice.current.userInterfaceIdiom != UIUserInterfaceIdiom.phone{
debugPrint("不是iPhone, 是 \(UIDevice.current.userInterfaceIdiom.rawValue)")
} if #available(iOS 11.0, *) {
if let bottom = JY_WINDOW?.safeAreaInsets.bottom , bottom > 0 {
return true
}
} else {
debugPrint("iOS11 之前的版本")
}
return false
}
}
安全区高度:
if #available(iOS 11.0, *) {
let top = JY_WINDOW?.safeAreaInsets.top
let bottom = JY_WINDOW?.safeAreaInsets.bottom
let height = UIScreen.main.bounds.size.height - top - bottom
} else {
let height = UIScreen.main.bounds.size.height
}
iPhone X系列 的获取 - 安全区顶部和底部高度的更多相关文章
- C#)Windows Shell 编程系列5 - 获取图标
原文 C#)Windows Shell 编程系列5 - 获取图标 (本系列文章由柠檬的(lc_mtt)原创,转载请注明出处,谢谢-) 接上一节:(C#)Windows Shell 编程系列4 - 上下 ...
- [Android] 获取系统顶部状态栏(Status Bar)与底部导航栏(Navigation Bar)的高度
Android一些设备都有上下两条bar,我们可以获取这些bar的信息.下面放上获取高度的代码.代码注释和其他方法有空再放. 原文地址请保留http://www.cnblogs.com/rossone ...
- “地表最贵iPhone”到货,iPhone XS 系列手机等你来测!
WeTest 导读 9月13日,苹果正式发布了全新的 iPhone XS 系列智能手机,备受瞩目的iPhone家族新成员具体又是怎样的呢? 关于iPhone XS系列手机的那些新亮点 大屏.双 ...
- jQuery获取页面及个元素高度、宽度
获取浏览器显示区域(可视区域)的高度 : $(window).height(); 获取浏览器显示区域(可视区域)的宽度 : $(window).width(); 获取页面的文档 ...
- js 和 jquery 获取页面和滚动条的高度 视口高度文档高度
js 和 jquery 获取页面和滚动条的高度 //页面位置及窗口大小 function GetPageSize() { var scrW, scrH; if(window.innerHeight & ...
- jQuery获取页面及个元素高度、宽度【转】
获取浏览器显示区域(可视区域)的高度 : $(window).height(); 获取浏览器显示区域(可视区域)的宽度 : $(window).width(); 获取页面的文档高度 ...
- ListView(1)几个重要属性,关闭滚动到顶部,底部的动画,item之间的分割线,背景等
见表: android:stackFromBottom="true" 设置该属性之后你做好的列表就会显示你列表的最下面,值为true和false android:transcrip ...
- Javascript&Jquery获取浏览器和屏幕各种高度宽度方法总结及运用
<js篇> Javascript获取浏览器和屏幕各种高度宽度方法总结 document.body.clientWidth //网页可见区域宽(body) document.bo ...
- JavaScript、jQuery获取页面及个元素高度、宽度
Javascript获取获取屏幕.浏览器窗口 ,浏览器,网页高度.宽度的大小网页可见区域宽:document.body.clientWidth 网页可见区域高:document.body.client ...
随机推荐
- C#利用CDO.Message发送邮件
如何引用CDO.Message? cod.message的引用位置: C:\Windows\System32\cdosys.dll CDO.Message objMail = new CDO.Mess ...
- 简洁的实现ls-l命令
现在我们来简洁的实现命令:了解一下相关知识: 我们使用掩码可以很明确的得出文件的每一种信息.关于掩码,上图中的S_IRUSR等均为掩码.我们来看看函数getpwuid,原型:struct passwd ...
- How to Pronounce We’ll Contraction
How to Pronounce We’ll Contraction Share Tweet Share Tagged With: WILL Contractions There are severa ...
- ReactiveX 学习笔记(19)使用 RxSwift + RxCocoa 进行 GUI 编程
课题 程序界面由3个文本编辑框和1个文本标签组成. 要求文本标签实时显示3个文本编辑框所输入的数字之和. 文本编辑框输入的不是合法数字时,将其值视为0. 3个文本编辑框的初值分别为1,2,3. 创建工 ...
- [jQ/PHP]使用JS数组储值的两种情况(提交PHP处理)
---------------------------------------------------------------------------------------------------- ...
- ajax请求是参数问题
Illegal invocation processData:false,processData用于对data参数进行序列化处理,默认值是true.默认情况下发送的数据将被转换为对象,如果不希望把Fi ...
- ssh架构之hibernate(四)二级缓存
二级缓存使用步骤: 1.拷贝jar包 2.配置Hibernate.cfg.xml文件 a.#开启二级缓存 hibernate.cache.use_second_level_cache=true b.# ...
- 从源码安装Node
[从源码安装Node] Nodejs官网未并提供i686架构的bin,为了在i686架构cpu下使用Nodejs,需要从源码编译. 1../configure 2.make 3.make instal ...
- Bootstrap 代码
[Bootstrap 代码] Bootstrap 允许您以两种方式显示代码: 第一种是 <code> 标签.如果您想要内联显示代码,那么您应该使用 <code> 标签. 第二种 ...
- msf客户端渗透(五):注册表
先获取到一个session 上传nc到被攻击主机上 建立一个键值 创建一个策略 kali上查看是否成功创建键值 后台开启cmd 查看防火墙的策略 打开防火墙的端口 添加一条防火墙策略 在win7上查看 ...