可以看到状态栏空间,但不能查看iOS Swift中的信息

时间:2017-02-08 01:49:50

标签: ios swift statusbar

我添加导航控制器(第二视图)并添加一个UIViewController(第三视图)作为根视图控制器 然后我从另一个UIViewController(第一个视图)将segue连接到导航控制器(第二个视图) 因此,当显示视图时,我可以看到带有状态栏空间的导航栏 但是状态栏中没有显示载体,电池,时间信息等信息。 (我将导航颜色更改为粉红色以显示问题。
蓝色部分是导航栏的标题视图。)

enter image description here

所以我尝试了2种解决方案。

首先,我认为StatusBar Color问题。但事实并非如此。

  UIApplication.shared.statusBarStyle = .default

其次,我尝试使用以下代码进行显示。它也不是。

override var prefersStatusBarHidden: Bool {
    return false

}

UIApplication.shared.setStatusBarHidden(false, with: UIStatusBarAnimation.none)

我需要用状态栏来解决这个不显示问题 我可以看到状态栏空间而不是信息。

2 个答案:

答案 0 :(得分:0)

有很多方法可以在iOS中切换状态栏的颜色和可见性。

类似的问题以及可能的正确答案:

How to change Status Bar text color in iOS 7

简而言之,如果您想在每个屏幕之间切换,请按照以下步骤操作:

  1. info.plist中,添加以下新密钥:
  2. View controller-based status bar appearance,值应为NO

    1. viewWillAppear中,使用您发布的代码切换状态栏:
    2. UIApplication.shared.statusBarStyle = .lightContent - 白色  要么 UIApplication.shared.statusBarStyle = .default - 黑色

      编辑: 初始ViewController - >以模态呈现 - > NavigationController + ViewController。

      这就是你设置屏幕的方式,对吗?如果是的话,

      • 您可以在Interface Builder中的NavigationController属性中设置状态栏。
      • 并在viewWillAppear的{​​{1}}旁边切换状态栏的可见性和/或颜色。

答案 1 :(得分:0)

我建议您查看Debug View Hierarchy

根据我之前项目的经验,如果我无法在UI相关问题上提出基于代码的解决方案,我可以做的最简单的调试技术是在运行时检查视图层次结构。

查看导航控制器视图是否阻止可能隐藏状态栏的主视图,如果是,请按照您的方式解决问题。

我希望它有所帮助。