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