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

不工作:

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

不工作:

[UIApplication sharedApplication].statusBarHidden = YES;

无法登录苹果开发者论坛


当前回答

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

其他回答

为了使用遗留的UIApplication方法来隐藏/显示状态栏,你的应用程序必须为iOS 7设置一个plist值:

基于视图-控制器的状态栏外观= NO

默认设置为YES。如果将其更改为NO,则可以使用遗留方法。如果你让它设置为YES,你仍然可以隐藏状态栏,但这取决于应用程序中的每个视图控制器子类来重写:prefersStatusBarHidden以返回YES。

任何时候你的应用程序需要状态栏外观或可见性的改变,并且基于视图控制器的状态栏外观被设置为YES,你最外层的视图控制器需要调用:

setNeedsStatusBarAppearanceUpdateAnimation

只需在info中添加这两行。plist文件。它将修复iOS7和旧版本。

状态栏初始隐藏= YES 基于控制器的视图状态栏外观= NO

导航到项目并选择目标->通用,并看到“状态栏样式…“在应用程序启动时隐藏”复选框将被选中。这是可行的。

在Info Plist文件中为以下属性添加一行

属性名称:查看基于控制器的状态栏外观

取值范围:NO

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

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

隐藏特定viewController的状态栏

- (BOOL)prefersStatusBarHidden {
    return YES;
}

设置状态栏为应用程序隐藏:

在.plist中设置基于控制器的状态栏的外观 和在应用程序:didFinishLaunchingWithOptions: set: (应用程序setStatusBarHidden:是的); 注意:setStatusBarHidden:已弃用

OR

在“项目设置”中->“常规”页签->“部署信息” 检查隐藏状态栏框。