ios 获取导航栏和状态栏高度,针对iPhoneX
因为iPhoneX的产生,原本的导航栏再也不是44了,那么会出现什么问题呢?在隐藏导航栏的页面,原本的高度要向上调整一个导航栏+状态栏的高度。那么iPhoneX的导航栏高度不是44了,我们需要手动获取,
有导航栏的,代码如下:
| 
 1 
2 
3 
4 
5 
6 
 | 
//获取状态栏的rectCGRect statusRect = [[UIApplication sharedApplication] statusBarFrame];//获取导航栏的rectCGRect navRect = self.navigationController.navigationBar.frame;那么导航栏+状态栏的高度statusRect.size.height+navRect.size.height | 
是不是很简单!!!!
对于项目有的很多处都需要这个代码,可以给它写成宏定义。如下
方法一:
| 
 1 
2 
 | 
//获取导航栏+状态栏的高度#define getRectNavAndStatusHight  self.navigationController.navigationBar.frame.size.height+[[UIApplication sharedApplication] statusBarFrame].size.height | 
方法二:(用了宏定义的 参数返回)
| 
 1 
2 
3 
4 
5 
6 
 | 
//获取导航栏+状态栏的高度#define getRectNavAndStatusHight \({\CGRect rectStatus = [[UIApplication sharedApplication] statusBarFrame];\    CGRect rectNav = self.navigationController.navigationBar.frame;\( rectStatus.size.height+ rectNav.size.height);\})\ | 
下面说说没有导航栏(对于模态视图推出):
#define isPhoneX ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1125, 2436), [[UIScreen mainScreen] currentMode].size) : NO)
首先判断机型是不是iPhoneX,然后
如果是iPhoneX返回88 如果不是64
ios 获取导航栏和状态栏高度,针对iPhoneX的更多相关文章
- iOS 获取导航栏和状态栏的高度
		
CGRect rect = [[UIApplication sharedApplication] statusBarFrame]; 状态栏的高度: float status height = rec ...
 - iOS  自定义导航栏 和状态栏
		
一.更改状态栏颜色 (StatusBar) 就是比如导航栏是红色的状态栏是绿色的. 要实现这样的效果其实很简单,就是添加一个背景view. 简单的实现过程如下: 1 // 设置导航颜色 可用 2 [s ...
 - 如何控制iOS的导航栏和状态栏的样式
		
这是一个很常用的开发场景,就是改变导航栏上的文字颜色与背景色,如果你曾有 windows form 开发经验一定会笑我:"卧槽,这有什么好写的,不就是设置两个属性就可以了吗?" 我 ...
 - iOS 隐藏导航栏  隐藏状态栏
		
1导航栏 self.navigationController.navigationBarHidden = YES; 2 状态栏 [[UIApplication sharedApplication] s ...
 - zhuang 定制iOS 7中的导航栏和状态栏
		
近期,跟大多数开发者一样,我也正忙于对程序进行升级以适配iOS 7.最新的iOS 7外观上有大量的改动.从开发者的角度来看,导航栏和状态栏就发生了明显的变化.状态栏现在是半透明的了,这也就意味着导航栏 ...
 - iOS 7 教程:定制iOS 7中的导航栏和状态栏
		
目录(?)[-] iOS 7中默认的导航栏 设置导航栏的背景颜色 在导航栏中使用背景图片 定制返回按钮的颜 修改导航栏标题的字体 修改导航栏标题为图片 添加多个按钮 修改状态栏的风格 隐藏状态栏 总结 ...
 - (转)定制iOS 7中的导航栏和状态栏
		
近期,跟大多数开发者一样,我也正忙于对程序进行升级以适配iOS 7.最新的iOS 7外观上有大量的改动.从开发者的角度来看,导航栏和状态栏就发生了明显的变化.状态栏现在是半透明的了,这也就意味着导航栏 ...
 - 定制iOS 7中的导航栏和状态栏
		
本文转载至 http://www.cocoachina.com/industry/20131104/7287.html 跟大多数开发者一样,我也正忙于对程序进行升级以适配iOS 7.最新的iOS 7外 ...
 - iphone状态栏,导航栏,标签栏高度一览表
		
iphone状态栏,导航栏,标签栏高度一览表 设备分辨率 状态栏高度 导航栏高度 标签栏高度 iPhone6 plus 1242×2208 px 60px 132px 147px iPhon ...
 
随机推荐
- iOS RunLoop详解
			
1. RunLoop简介 1.1 什么是RUnLoop 可以理解为字面的意思:Run表示运行,Loop表示循环.结合在一起就是运行的循环.通常叫做运行循环. RunLoop实际上是一个对象,这个对象在 ...
 - JavaScript数据结构与算法-栈练习
			
栈的实现 // 栈类 function Stack () { this.dataStore = []; this.top = 0; // 栈顶位置 相当于length,不是索引. this.push ...
 - mybatis springmvc velocity的demo
			
https://codeload.github.com/xingfly/SBlog/zip/master 1.记得导入数据库并修改 数据库的配置. 2.使用jetty运行 pom 添加jetty &l ...
 - MongoDB学习笔记—windows下安装
			
1.登录官网下载安装包 官网下载地址:https://www.mongodb.com/download-center?jmp=nav#community 根据你的系统下载 32 位或 64 位的 .m ...
 - random模块(随机数库)
			
random random.random random.random()用于生成一个0到1的随机浮点数: 0 <= n < 1.0 random.uniform random.unifor ...
 - C#  函数4
			
//数据库 public class GF_DA { /// <summary> /// 执行SQL语句 sConnStr 连接字符串,sq ...
 - bootstrap-select 使用笔记 设置选中值及手动刷新
			
直接笔记: 1.页面刚加载完填充select选项数据时,需要手动刷新一下组件,否则没有选项值.(组件初始化时,li 与 option 分离的,需要刷新一下(据说)) $.post('/cpms/tod ...
 - iOS  反射 学习 和 运用
			
iOS 反射 学习 和 运用 反射: 通过 类名来获得生成的相应的类的实例 的这种机制 叫 反射 常用的反射方式 把 NSDictionary 转成 自定义 model 自定义 model 转 ...
 - GZDBHelper
			
NuGet:GZDBHelper 初始化: public class APIBase : ApiController { protected GZDBHelper.IDatabase db; publ ...
 - 多个网络请求成功返回再执行另外任务的思路分析(iOS)
			
前言 今天我们来讨论一个经常出现的需求场景,也是一个老话题.在开发中我们往往会遇到需要进行多个网络请求,并且需要多个网络请求成功返回后再做其他事的场景.比如同一个界面显示的内容需要用到两个网络接口,而 ...