【问题标题】:Removing Status Bar In IOS 8 When Using A UINavigationController使用 UINavigationController 时在 IOS 8 中删除状态栏
【发布时间】:2014-11-12 11:02:04
【问题描述】:

在 UINavigationController 中的视图之间移动时,我试图从我的应用中删除状态栏。

我有一个 UINavigationController 移除了状态栏。然后我使用 UIImagePickerController 选择一个图像,我认为这是重置状态栏外观的原因。

选择 UIImage 后,我推送另一个视图并呈现图像,问题是状态栏又出现了。

我尝试了多种方法,包括在两个视图上调用 prefersstatusbarhidden 都没有任何运气。

任何想法如何删除状态栏?

谢谢

【问题讨论】:

  • 试试这个 [[UIApplication sharedApplication] setStatusBarHidden:YES];
  • 谢谢,这似乎奏效了。我认为这是用于 IOS 6。如果你把它放在一个答案中,我可以接受它。

标签: ios objective-c statusbar


【解决方案1】:

如果使用iOS8,添加

-(BOOL)prefersStatusBarHidden{
    return YES;
}

到您的视图控制器。您需要根据需要将其添加到每个视图控制器。

您也可以在 info.plist 中为键 View controller-based status bar appearance 指定一个值,以在应用范围内指定您的状态栏首选项。

【讨论】:

  • 如果您的应用程序中有导航控制器中有控制器的情况,这不起作用。我发现自己必须继承 UINavigationController,覆盖 prefersStatusBarHidden,然后返回 nil。如果你想要的话,这也可能会确保状态栏在所有 VC 中始终隐藏。
【解决方案2】:

尝试使用此手动隐藏状态栏 [[UIApplication sharedApplication] setStatusBarHidden:YES];

【讨论】:

  • 在 iOS 8 上使用 Xcode 6.0,它不起作用。我只是把这段代码放在我的根视图控制器的 Did load 中
  • 它对我有用,可能是因为我在 UINavigationController 中使用它吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-05-23
  • 2014-01-11
  • 2013-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-03
相关资源
最近更新 更多