隐藏状态栏并增加UINavigationBar的高度

我正在使用故事板创建导航栏。

我的要求是隐藏状态栏并增加导航栏的高度。 当我隐藏状态栏时,导航栏会粘到顶部,高度为44像素。 我需要导航栏高度为64像素(44像素+状态栏高度)。 有没有办法做到这一点?

带状态栏

在此处输入图像描述 没有状态栏 没有状态栏

首先,按照以下步骤隐藏statusBar

首先,将此代码放在viewWillAppear

 [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade]; 

其次,设置info.plist文件,如下图所示:

在此处输入图像描述

接下来,您可以创建一个UINavigationBar Category ,并在其中设置navigaionBar的高度。

Objective-C的

在.h文件中

 @interface UINavigationBar (Custom) - (CGSize)sizeThatFits:(CGSize)size ; 

并在.m文件中

 @implementation UINavigationBar (Custom) - (CGSize)sizeThatFits:(CGSize)size { CGFloat width = [UIScreen mainScreen].bounds.size.width; CGSize newSize = CGSizeMake(width, 100); return newSize; } 

迅速

 extension UINavigationBar { public override func sizeThatFits(size: CGSize) -> CGSize { let width = UIScreen.mainScreen().bounds.width let newSize = CGSize(width: width, height: 64) return newSize } }