隐藏状态栏并增加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 } }