如何在 iOS 7 中隐藏状态栏?

Posted

技术标签:

【中文标题】如何在 iOS 7 中隐藏状态栏?【英文标题】:How to hide status bar in iOS 7? 【发布时间】:2013-11-18 12:44:00 【问题描述】:

我尝试在我的应用程序.plist 文件中设置以下内容:

View controller-based status bar appearance: NO

虽然这会将它从我的初始视图控制器中删除,但一旦我转到另一个视图并带着我的导航控制器返回,它就会立即返回并且这一次它不会消失。另外,我不明白为什么这很重要,但我还将模拟指标下的状态栏设置为“无”,但这似乎没有帮助。我知道我将拥有导航栏,但我需要的状态栏不见了。

我怎样才能完成这项工作? 请提供详细答案,示例代码会很棒!

更新:这不是一个重复的解决方案,因为我已经尝试了所有其他解决方案,但似乎没有一个对我有用。最近我尝试过

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

再次,没有结果。当应用程序最初启动时状态栏不存在,在用户访问另一个视图后,状态栏现在出现在 2 和其他视图中并且不会消失。即使您返回主视图。

【问题讨论】:

您在其他控制器中为您的导航栏设置了一些人员? @MirkoCatalano 是的,但没有关于 status bar Cannot hide status bar in ios7的可能重复 ***.com/questions/18981256/hiding-statusbar-in-ios7/… 【参考方案1】:

我已经尝试了这里发布的所有建议,不幸的是这里发生的事情是一个小错误,在我的viewDidLoad 我有:

[[UIApplication sharedApplication] setStatusBarHidden:YES];

但在我的viewWillAppear 中,我有:

[[UIApplication sharedApplication] setStatusBarHidden:NO];

所以这只是一个覆盖问题,现在问题已解决。

【讨论】:

【参考方案2】:

隐藏状态栏:

if [View controller-based status bar appearance: NO]: in AppDelegate.m call

[[UIApplication sharedApplication]setStatusBarHidden:YES];

else:在每个视图控制器中

- (BOOL)prefersStatusBarHidden

    return YES;

【讨论】:

我试过了,但它对我不起作用,请查看更新后的帖子 在第二个视图中显示更多代码。也许一些代码间接改变了状态栏隐藏属性。 [[UIApplication sharedApplication]setStatusBarHidden:YES];为我工作。以为我已经设置了基于视图控制器的状态栏外观:已经没有【参考方案3】:

试试这两个步骤:

    在项目的 .Plist 文件中设置属性:

查看基于控制器的状态栏外观 = NO;

和 2.在viewDidLoad方法中所有视图控制器的.m文件中放这行代码:

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

【讨论】:

我试过了,但它对我不起作用,请查看更新后的帖子【参考方案4】:

在您希望隐藏状态栏的视图控制器中使用此方法:

- (BOOL)prefersStatusBarHidden 
    return YES;

【讨论】:

我试过了,但它对我不起作用,请查看更新后的帖子【参考方案5】:

这应该有效:

// 在 iOS7 中,它被调用并隐藏状态栏,因此视图不会位于顶部 iPhone 下方 // 状态栏

- (BOOL)prefersStatusBarHidden 
      return YES;

【讨论】:

【参考方案6】:

这些都不适合我。 当我尝试此方法时,我收到消息“使用未声明的标识符 preferstatusbarHidden

include - (BOOL)prefersStatusBarHidden 
      return YES;

【讨论】:

【参考方案7】:

我不知道该怎么办了。我尝试了 setStatusBarHidden,prefersHiddenStatusBar,但仍然没有结果。最后,我浏览了下面的你管链接:

https://www.youtube.com/watch?v=FtpBXdMSqRQ

它对我有用。

【讨论】:

以上是关于如何在 iOS 7 中隐藏状态栏?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iOS 7.1 中隐藏状态栏?

如何在 iOS 7 和 iOS 6 中出现动画启动画面期间隐藏状态栏?

如何在 iOS 7 中隐藏状态栏?

如何在 iOS 7.1 中隐藏状态栏。在 iPad 上运行 iPhone 应用程序? [复制]

iOS 7隐藏导航栏时如何更改状态栏的颜色?

隐藏状态栏 iPad iOS 7.0