在我的iOS视频应用中,状态栏隐藏在一些视图控制器中。我已经使用以下代码做到了这一点。

[[UIApplication sharedApplication] setStatusBarHidden:YES];

它适用于iOS 5和iOS 6,但不适用于iOS 7。 我在特定的视图控制器中尝试了这个,

Eg:

-(BOOL)prefersStatusBarHidden { return YES; }

它工作得很好,但是我不能在父视图控制器中再次显示状态栏。


当前回答

iOS 9起:

由于statusBarHidden方法已从iOS9中弃用,您需要在plist中添加如下两个值:

<key>UIStatusBarHidden</key>
<true/>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>

请参考以下图片:

statusBarHidden从iOS9被弃用:

@property(重述,非atomic,getter= isstatus barhiden) BOOL 新闻记者:新闻记者 prefersStatusBarHidden”)__TVOS_PROHIBITED;

其他回答

iOS中隐藏状态栏的步骤 1. AppDelegate开放。M文件,添加应用程序。statusbar隐藏在didFinishLaunchingWithOptions方法中

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    application.statusBarHidden = YES;
    return YES;
    }

开放的信息。Plist和set

查看基于控制器的状态栏外观设置NO

我做了以下操作,它似乎是有效的(即使在iOS 8中):

- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated
{
    if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) {

        [[UIApplication sharedApplication] setStatusBarHidden:YES];
    }
}

- (BOOL)prefersStatusBarHidden {
    return YES;
}

你应该将这个值添加到plist: "View controller-based status bar appearance"并将其设置为"NO"。

斯威夫特5

使用以下步骤隐藏iOS状态栏:

打开Info.plist。 添加新的键视图控制器的状态栏外观和值设置为NO。 添加新键状态栏初始隐藏,值设置为YES。 编译项目。 状态栏应该隐藏在iOS手机现在。

最终设置截图:

这是在Xcode 10.2上运行的

在Info.plist中添加以下内容:

<key>UIStatusBarHidden</key>
<true/>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>