之前适配导航栏高度(刘海屏)是通过设备类型判断,判断设备为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 导航栏高度 (刘海屏幕)相关推荐

  1. 适配iOS 11和iPhone X——导航栏、UITableView

    每年的WWDC大会都激动和紧张好一段时间.激动的是期待苹果的新产品带来的那些黑科技,尤其今年的iPhone10周年纪念款iPhone X.紧张的当然是iOS.Swift和Xcode的升级,又要加班了( ...

  2. iOS适配iPhoneX/XR/XS/XS MAX

    适配只看三个参数: 1.渲染像素–屏幕截图的图片尺寸,单位px 2.逻辑像素–程序员开发所用尺寸,单位pt 3.倍率–渲染像素/逻辑像素,得到倍数关系.常见倍率@2x,@3x Safe Area(安全 ...

  3. 使用uniapp编译多端,自定义导航栏高度、状态栏的高度

    使用uniapp框架编译多端,在使用自定义导航栏的时候需要适配不同手机,在安卓和ios上手机的状态栏高度是不一样的,尤其是小程序. uni.getSystemInfo(); //在小程序上使用这个方法 ...

  4. 【Android】【手机适配】Android自定义导航栏和全面屏适配方案

    名词说明 状态栏:StatusBar,手机上方显示电量.时间的横条 导航栏:NavigationBar,手机下方显示虚拟按键的横条 标题栏:ActionBar,应用顶部显示标题的横条 全面屏:界面内容 ...

  5. 安卓全面屏手机获取虚拟导航栏高度

    安卓全面屏手机获取虚拟导航栏高度 问题:之前做过各种导航栏的适配,这次在适配RN的虚拟导航栏时会出现闪一下的问题,问题虽然不大但是看上去不是十分美观. 解决方法:在安卓端获取虚拟导航栏高度,在RN添加 ...

  6. iOS适配iPhoneX上下出现黑色区域

    最近在写swift重构项目,在适配项目的时候出现了下图的情况 大家可以看到我的navigationBar设置为了蓝色,view为白色但是屏幕上下方出现了黑色区域,我一开始以为自己需要给widow添加b ...

  7. IOS15的导航栏高度和状态栏高度和tabBar高度的获取

    IOS15的导航栏高度和状态栏高度和tabBar高度的获取 这都2021年11月份了.还在有人使用[UIApplication sharedApplication].keyWindow 这样过期的ap ...

  8. Android全面屏导航栏高度,Android10全面屏开启底部手势横条,弹窗留白问题

    public static boolean isShowNavBar(Context context) { if (null == context) { return false; } /** * 获 ...

  9. uniapp 计算自定义导航栏高度

    一,自定义导航栏的重点是高度的计算 从下图分析出来:导航栏高度 = (胶囊顶部距离 - 状态栏高度) x 2 + 胶囊的高度 data() {return {system:[],menu:[],sta ...

最新文章

  1. 【网络】通讯名词解释:带宽、速率、波特率、奈奎斯特定律、香农定理
  2. 测试tcp连接数工具_后端开发程序员不知道压力测试怎么能行
  3. 【Kotlin】抽象类 ( 声明 | 抽象类成员 | 抽象类继承 | 抽象方法覆盖 | 抽象方法实现 )
  4. djc加密数字货币_中国银行原副行长: quot;网络加密币quot;难以成为货币,央行数字货币只能是法定货币的数字化...
  5. 008_Queue消息模式发送映射消息
  6. 解决log4net独占日志文件的问题以及 log4net的各种输出配置(Appender)
  7. ibatise 没有大于等于吗_农村房屋没有证等于违法建筑吗?下面三个时间点记住,小心被忽悠...
  8. [转] 【领导必读】唐僧为什么可以领导孙悟空
  9. 这几张图告诉你程序员的变化,最后一张图扎心了
  10. tp5下通过composer实现日志记录功能
  11. 小程序模拟服务器,小程序模拟请求服务器json数据
  12. ObjC学习10-Foundation框架之内存管理
  13. zbbz 坐标标注lisp_cad坐标标注插件怎么用
  14. 【GNSS】坐标系统
  15. Asp.net +jQuery +ajax 传参问题
  16. Java poi 生成PPT并插入Excel附件并以图片形式显示代-代码例子
  17. 微信小程序获取当前页面url
  18. gitlab设置自动备份
  19. c8网络语言意思,老外常用的网络英文缩写
  20. stm32学习开发记录:OLED——I2C

热门文章

  1. 分享一些摘抄的优美句子~(第三波)
  2. 【郭东白架构课 模块一:生存法则】10|法则四:架构设计中怎么判断和利用技术趋势?
  3. SkylineGlobeServer
  4. android camera录像播放没有声音的问题
  5. Unity插件专栏目录
  6. 东问西问,终于揭开腾讯面试的真面目!(一、二、三面)
  7. 上传图片找不到临时文件夹
  8. 操作系统(二):操作系统结构
  9. Transact-SQL中的存储过程概述
  10. 【报告分享】2021中国书房与阅读现状洞察-易观智库(附下载)