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

iPh*_*Guy 9 xcode uinavigationbar ios swift

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

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

带状态栏

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

Kir*_*odi 8

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

首先,将此代码放入viewWillAppear:

[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];
Run Code Online (Sandbox Code Playgroud)

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

在此输入图像描述

接下来,你可以做一个CategoryUINavigationBar,并在其设置的高度navigaionBar.

Objective-C的

在.h文件中

@interface UINavigationBar (Custom)
- (CGSize)sizeThatFits:(CGSize)size ;
Run Code Online (Sandbox Code Playgroud)

并在.m文件中

@implementation UINavigationBar (Custom)

- (CGSize)sizeThatFits:(CGSize)size {
    CGFloat width = [UIScreen mainScreen].bounds.size.width;
    CGSize newSize = CGSizeMake(width, 100);
    return newSize;
}
Run Code Online (Sandbox Code Playgroud)

迅速

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