当 "View controller-based status bar appearance"=YES 时隐藏 ios 状态栏

Hide ios status bar when "View controller-based status bar appearance"=YES

我需要根据视图控制器更改状态栏样式,因此在我的 plist 文件中“基于视图控制器的状态栏外观”设置为 .

而且我有时需要隐藏状态栏!

我正在尝试使用 setStatusBarHidden,但它似乎只有在设置了“View controller-based status bar appearance”时才有效 ...

那么有没有办法隐藏状态栏呢?

首先,声明一个变量来表示是否隐藏:

@interface ExampleViewController
{
    BOOL statusBarHidden;
}

其次,重写依赖变量的UIViewController方法:

- (BOOL)prefersStatusBarHidden {
    return statusBarHidden;
}

最后,当你需要隐藏状态栏时,执行:

statusBarHidden = YES;
[self setNeedsStatusBarAppearanceUpdate];

当你需要再次显示状态栏时,执行:

statusBarHidden = NO;
[self setNeedsStatusBarAppearanceUpdate];