Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
可以在iOS Swift中查看状态栏空间,但不能查看信息_Ios_Swift_Statusbar - Fatal编程技术网

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

可以在iOS Swift中查看状态栏空间,但不能查看信息,ios,swift,statusbar,Ios,Swift,Statusbar,我添加导航控制器(第二视图)并添加一个UIViewController(第三视图)作为根视图控制器。 然后我从另一个UIViewController(第一视图)将segue连接到导航控制器(第二视图)。 因此,当视图显示时,我可以看到带有状态栏空间的导航栏。 但诸如载体、电池、时间等信息不会显示在状态栏中。 (为了向您显示问题,我将导航颜色更改为粉红色。 蓝色部分是导航栏的标题视图。) 所以我尝试了两种解决方案 首先,我认为状态栏的颜色有问题。但事实并非如此 UIApplication.s

我添加导航控制器(第二视图)并添加一个UIViewController(第三视图)作为根视图控制器。

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

所以我尝试了两种解决方案

首先,我认为状态栏的颜色有问题。但事实并非如此

  UIApplication.shared.statusBarStyle = .default
其次,我尝试了以下代码来显示。也不是

override var prefersStatusBarHidden: Bool {
    return false

}

我需要解决状态栏不显示的问题。

我可以看到状态栏空间,但看不到信息。

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

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

简而言之,如果要在每个屏幕之间切换,请执行以下步骤:

  • info.plist
    中,添加此新密钥:

  • 查看基于控制器的状态栏外观
    且值应为

  • 在您的
    视图中将出现
    ,用您发布的代码切换状态栏:
  • UIApplication.shared.statusBarStyle=.lightContent
    -白色 或
    UIApplication.shared.statusBarStyle=.default
    -黑色

    编辑: 初始视图控制器-->以模式显示-->导航控制器+视图控制器

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

    • 您可以在界面生成器的NavigationController属性中设置状态栏
    • 并在
      第三视图控制器的
      视图侧切换状态栏的可见性和/或颜色
      • 我建议你退房

        根据我在以前项目中的经验,如果我不能针对UI相关问题提出基于代码的解决方案,那么我可以做的最简单的调试技术就是在运行时检查视图层次结构

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


        我希望这会有帮助。

        你能添加一个屏幕截图吗?所以基本上你只想隐藏你的状态栏?@prettyitgirl.com我想显示状态栏。在日常生活中,它显示了这一点。这是我第一次遇到这样的问题,“然后我将segue连接到导航控制器”这是什么类型的segue?知道这一点非常重要。如果是嵌入式segue,则可能是问题的原因。@matt它是'present modally'segue,但不是全屏演示?它不起作用。我认为这与颜色无关。如果要切换单个视图控制器的状态栏,则基于视图控制器的状态栏外观应设置为“是”。
        UIApplication.shared.setStatusBarHidden(false, with: UIStatusBarAnimation.none)