1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > ios 获取nav高度_ios 获取导航栏和状态栏高度 针对iPhoneX

ios 获取nav高度_ios 获取导航栏和状态栏高度 针对iPhoneX

时间:2023-03-24 12:03:55

相关推荐

ios 获取nav高度_ios 获取导航栏和状态栏高度 针对iPhoneX

因为iPhoneX的产生,原本的导航栏再也不是44了,那么会出现什么问题呢?在隐藏导航栏的页面,原本的高度要向上调整一个导航栏+状态栏的高度。那么iPhoneX的导航栏高度不是44了,我们需要手动获取,

有导航栏的,代码如下://获取状态栏的rect

CGRectstatusRect=[[UIApplicationsharedApplication]statusBarFrame];

//获取导航栏的rect

CGRectnavRect=self.navigationController.navigationBar.frame;

那么导航栏+状态栏的高度

statusRect.size.height+navRect.size.height

是不是很简单!!!!

对于项目有的很多处都需要这个代码,可以给它写成宏定义。如下

方法一://获取导航栏+状态栏的高度

#definegetRectNavAndStatusHightself.navigationController.navigationBar.frame.size.height+[[UIApplicationsharedApplication]statusBarFrame].size.height

方法二:(用了宏定义的 参数返回)//获取导航栏+状态栏的高度

#definegetRectNavAndStatusHight\

({\

CGRectrectStatus=[[UIApplicationsharedApplication]statusBarFrame];\CGRectrectNav=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需要的人可以直接copy走吧!(如果不好用 ,把中间换行去点,这个自己给我加上的)记得帮我点点赞 爱你哟作者:叶熙雯

链接:/p/01816e1ad310

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。