iOS适配iPhoneX/iphone11/iphone12 导航栏高度 (刘海屏幕)
之前适配导航栏高度(刘海屏)是通过设备类型判断,判断设备为x、11或者12 之后,设置导航栏高度为88!但这样有一个缺点,就是要写好多设备类型代码且苹果出一个设备就得加一个判断~~
现在可以通过状态栏的高度来设置导航栏高度,我们通常讲的导航栏其实就是状态栏+导航栏:
导航栏(口头语)=状态栏+导航栏(真正的导航栏)
导航栏:CGRect rectNav = self.navigationController.navigationBar.frame;
状态栏:CGRect statusRect = [[UIApplication sharedApplication] statusBarFrame];
通过代码我们知道,导航栏的高度永远为44,不同机型的状态栏高度不同,(iphone6s为20,iphone8P为20,iphone11为48,iphone12为47 ……)
通过大量测试我们发现,有刘海屏的手机状态栏都大于20,所以可以通过状态栏的高度来设置状态栏高度。代码如下:
+ (BOOL)supportFaceID{
//获取状态栏高度
float statusHeight = [[UIApplication sharedApplication] statusBarFrame].size.height;
if (statusHeight > 20){
return YES;
}else{
return NO;
}
}
朋友们在需要的地方调用这个方法来判断导航栏高度,Yes为88,No为44
再贴个代码截图
(注:虽然不同刘海屏手机的状态栏+导航栏的最终高度不为88,但是为了写适配方便,我们统一把它设置为88)
iOS适配iPhoneX/iphone11/iphone12 导航栏高度 (刘海屏幕)相关推荐
- 适配iOS 11和iPhone X——导航栏、UITableView
每年的WWDC大会都激动和紧张好一段时间.激动的是期待苹果的新产品带来的那些黑科技,尤其今年的iPhone10周年纪念款iPhone X.紧张的当然是iOS.Swift和Xcode的升级,又要加班了( ...
- iOS适配iPhoneX/XR/XS/XS MAX
适配只看三个参数: 1.渲染像素–屏幕截图的图片尺寸,单位px 2.逻辑像素–程序员开发所用尺寸,单位pt 3.倍率–渲染像素/逻辑像素,得到倍数关系.常见倍率@2x,@3x Safe Area(安全 ...
- 使用uniapp编译多端,自定义导航栏高度、状态栏的高度
使用uniapp框架编译多端,在使用自定义导航栏的时候需要适配不同手机,在安卓和ios上手机的状态栏高度是不一样的,尤其是小程序. uni.getSystemInfo(); //在小程序上使用这个方法 ...
- 【Android】【手机适配】Android自定义导航栏和全面屏适配方案
名词说明 状态栏:StatusBar,手机上方显示电量.时间的横条 导航栏:NavigationBar,手机下方显示虚拟按键的横条 标题栏:ActionBar,应用顶部显示标题的横条 全面屏:界面内容 ...
- 安卓全面屏手机获取虚拟导航栏高度
安卓全面屏手机获取虚拟导航栏高度 问题:之前做过各种导航栏的适配,这次在适配RN的虚拟导航栏时会出现闪一下的问题,问题虽然不大但是看上去不是十分美观. 解决方法:在安卓端获取虚拟导航栏高度,在RN添加 ...
- iOS适配iPhoneX上下出现黑色区域
最近在写swift重构项目,在适配项目的时候出现了下图的情况 大家可以看到我的navigationBar设置为了蓝色,view为白色但是屏幕上下方出现了黑色区域,我一开始以为自己需要给widow添加b ...
- IOS15的导航栏高度和状态栏高度和tabBar高度的获取
IOS15的导航栏高度和状态栏高度和tabBar高度的获取 这都2021年11月份了.还在有人使用[UIApplication sharedApplication].keyWindow 这样过期的ap ...
- Android全面屏导航栏高度,Android10全面屏开启底部手势横条,弹窗留白问题
public static boolean isShowNavBar(Context context) { if (null == context) { return false; } /** * 获 ...
- uniapp 计算自定义导航栏高度
一,自定义导航栏的重点是高度的计算 从下图分析出来:导航栏高度 = (胶囊顶部距离 - 状态栏高度) x 2 + 胶囊的高度 data() {return {system:[],menu:[],sta ...
最新文章
- 【网络】通讯名词解释:带宽、速率、波特率、奈奎斯特定律、香农定理
- 测试tcp连接数工具_后端开发程序员不知道压力测试怎么能行
- 【Kotlin】抽象类 ( 声明 | 抽象类成员 | 抽象类继承 | 抽象方法覆盖 | 抽象方法实现 )
- djc加密数字货币_中国银行原副行长: quot;网络加密币quot;难以成为货币,央行数字货币只能是法定货币的数字化...
- 008_Queue消息模式发送映射消息
- 解决log4net独占日志文件的问题以及 log4net的各种输出配置(Appender)
- ibatise 没有大于等于吗_农村房屋没有证等于违法建筑吗?下面三个时间点记住,小心被忽悠...
- [转] 【领导必读】唐僧为什么可以领导孙悟空
- 这几张图告诉你程序员的变化,最后一张图扎心了
- tp5下通过composer实现日志记录功能
- 小程序模拟服务器,小程序模拟请求服务器json数据
- ObjC学习10-Foundation框架之内存管理
- zbbz 坐标标注lisp_cad坐标标注插件怎么用
- 【GNSS】坐标系统
- Asp.net +jQuery +ajax 传参问题
- Java poi 生成PPT并插入Excel附件并以图片形式显示代-代码例子
- 微信小程序获取当前页面url
- gitlab设置自动备份
- c8网络语言意思,老外常用的网络英文缩写
- stm32学习开发记录:OLED——I2C