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

不工作:

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

不工作:

[UIApplication sharedApplication].statusBarHidden = YES;

无法登录苹果开发者论坛


当前回答

在你的app plist文件中添加一行“View controller based status bar appearance”,并将其设置为NO

注意,如果你在应用中使用UIImagePickerController,这是行不通的。

来自http://www.openfl.org/developer/forums/general-discussion/iphone-5ios-7-cant-hide-status-bar/, mgiroux的解决方案

其他回答

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

要在单个视图中隐藏状态栏,您应该使用:

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

起初,这对我来说并不管用,然后在这个方法的文档中看到: 如果你的应用程序使用默认的基于uiviewcontroller的状态栏系统,设置statusBarHidden没有任何作用。

这必须在plist文件上完成,将基于视图控制器的状态栏外观设置为NO。 然后就成功了。

要在iOS7中隐藏状态栏,你需要2行代码

inapplication:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions写入 (应用程序setStatusBarHidden:是的); 在信息。加上这个 基于视图-控制器的状态栏外观= NO

你可以检查这段代码,pod UIViewController+ODStatusBar

尝试添加以下方法到你的应用程序的根视图控制器:

- (BOOL)prefersStatusBarHidden
    {
        return YES;
    }