ios 获取导航栏和状态栏高度,针对iPhoneX
ios 获取 导航 高度 针对 状态栏
2023-09-11 14:17:57 时间
因为iPhoneX的产生,原本的导航栏再也不是44了,那么会出现什么问题呢?在隐藏导航栏的页面,原本的高度要向上调整一个导航栏+状态栏的高度。那么iPhoneX的导航栏高度不是44了,我们需要手动获取,
有导航栏的,代码如下:
1
2
3
4
5
6
|
//获取状态栏的rect CGRect statusRect = [[UIApplication sharedApplication] statusBarFrame]; //获取导航栏的rect CGRect 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获取文件属性
- iOS 之获取IP地址 以及 判断个人热点是否开启
- iOS获取当前屏幕的尺寸和分辨率
- iOS 中UI控件的各种对齐方式总结
- iOS获取UIView上某点的颜色值
- ios获取本地音乐库音乐很详细 扫描IPHONE本地音乐文件,获得音乐名,歌手名代码示例
- 我用一个跨平台的网络应用程序替换了我的原生 iOS 应用程序,但没有人注意到
- iOS 逆向 - Hook / fishHook 原理与符号表
- ios GUI系统综述:iOS的图形绘制、动画与runloop
- iOS内存泄漏自动检测工具PLeakSniffer
- 《iOS应用软件设计之道》—— 2.5 何时画草图
- iOS 静态库制作(Xcode9.0 版本)(注:亲测.a静态文件放在Unity Plugins/IOS 也可用)
- iOS - 获取安装所有App的Bundle ID
- iOS - 音乐播放器之怎么获取音乐列表
- iOS - 沙盒机制(SandBox)和获取沙盒路径
- iOS开发之网络编程--获取文件的MIMEType
- iOS之学习资源收集--很好的IOS技术学习网站
- 《慕客网:IOS动画案例之会跳动的登入界面(下)》学习笔记 -Sketch的使用
- js 判断当前操作系统是ios还是android还是电脑端
- iOS 4种方法获取文件名