如何在iOS中为整个应用程序设置隐藏状态栏?

Posted

技术标签:

【中文标题】如何在iOS中为整个应用程序设置隐藏状态栏?【英文标题】:How to set status bar hidden for entire app in iOS? 【发布时间】:2014-03-30 18:19:54 【问题描述】:

我正在尝试将整个 ios 应用的状态栏设置为隐藏。 (应用部署目标设置为 iOS 7.1)。

我已经尝试了以下方法(但没有奏效):

将此行添加到 AppDelegate.m 中的 application:didFinishLaunchingWithOptions:

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

还有这一行:

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

我已尝试在 Storyboard View --> Attributes inspector --> Simulated Metrics 中将每个 View Controller 的 statusBar 设置为 None。

我已尝试在我的应用程序的 Info.plist 文件中将密钥 Status bar is initially hidden 添加为 YES。

这些都不起作用。谁能指导我什么是错的? 顺便说一句,我在我的 Mac 上使用最新版本的 XCode,在我的测试设备上使用最新的 iOS。而且,我所有的视图控制器都只在属性检查器中设置为横向模式。并且应用支持的方向是左右横向。

【问题讨论】:

你的根视图控制器是什么样的视图控制器? 它是一个自定义视图控制器,里面有两个标签,每个标签都连接到另一个 VC。 info.plist 文件,那里添加基于视图控制器的状态栏外观 NO。并在项目设置中检查 ststusbar hidden on lounch .... 【参考方案1】:

只需在您的 .plist 文件中设置这两个属性。然后您就可以开始了。

1.查看基于控制器的状态栏外观-否

2.状态栏最初是隐藏的-YES

希望这会有所帮助!

【讨论】:

对于 ios 7,它应该可以工作:float versionOS; versionOS=[[[UIDevice currentDevice] systemVersion] floatValue]; if(versionOS>=7.0) [UIApplication sharedApplication].statusBarHidden = YES 将此代码添加到应用程序的 didFinishLaunchingWithOptions 方法中。【参考方案2】:

您是否尝试过设置:

View controller-based status bar appearance

到否 在您的 Info.plist 文件中?

【讨论】:

不,我不知道该怎么做。你能告诉我怎么做吗?虽然我已经尝试在每个视图控制器的属性检查器中设置它。 以与添加键相同的方式 状态栏最初隐藏:转到您的目标,然后在 Info 选项卡上的 自定义 iOS 目标属性添加一个新行并开始输入我在答案中写的键。 试过了。没用。有和没有'[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:NO];'行。 我刚刚创建了一个测试项目,它在 application:didFinishLaunchingWithOptions:[[UIApplication sharedApplication] setStatusBarHidden:YES]; 中实现了 [[UIApplication sharedApplication] setStatusBarHidden:YES]; i>查看基于控制器的状态栏外观在 .plist 中设置为 NO 并且它可以工作。我已经压缩了,你可以从这里下载:dl.dropboxusercontent.com/u/61562421/StatusBarTest.zip【参考方案3】:

在您的 info.plist 文件中,有一个名为 “状态栏最初是隐藏的”的设置。将其设置为“是”,您将不会拥有它在启动时。然后你不需要在你的代码中做任何事情,当你的应用启动时,这个栏就会出现。

【讨论】:

您的意思是该栏将被隐藏或“将在(该)应用程序启动时显示”?

以上是关于如何在iOS中为整个应用程序设置隐藏状态栏?的主要内容,如果未能解决你的问题,请参考以下文章

iOS隐藏状态栏

我们如何在 iOS 9 中为整个应用程序设置状态栏的 Light Content 样式?

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

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

隐藏状态栏 iPad iOS 7.0

从PhoneGap Camera API返回时如何隐藏iOS7状态栏?