我刚刚把我的iPhone 5 iOS 7升级到四个测试版。现在,当我从Xcode 5在iPhone上运行我的应用程序时,状态栏没有隐藏,尽管它应该隐藏。

不工作:

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

不工作:

[UIApplication sharedApplication].statusBarHidden = YES;

无法登录苹果开发者论坛


当前回答

Swift 2.0+ IOS 9

override func prefersStatusBarHidden() -> Bool {
return true
}

其他回答

这个线程上的许多答案都是有效的,但我的理解是,如果你试图做任何动态的事情,你最终需要调用:

[self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)];

在视图控制器中添加方法。

- (BOOL)prefersStatusBarHidden {
    return YES;
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
application.statusBarHidden = YES;
return YES;
}

我不知道为什么你“不能登录苹果开发者论坛”,但(在不违反NDA的情况下)你也可以通过Xcode隐藏你的状态栏。这是应用程序目标的一般设置。

唯一对我有用的是在你的plist中添加以下内容

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