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

时间:2014-10-15 10:59:18

标签: ios xcode swift uinavigationbar

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

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

状态栏

enter image description here 没有状态栏 Without Status bar

1 个答案:

答案 0 :(得分:8)

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

首先,将此代码放入viewWillAppear

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

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

enter image description here

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

<强>目标c

<。>文件中的

@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
    }
}