当前位置: 首页 > 知识库问答 >
问题:

如果显示视图控制器,状态栏不会隐藏

姜业
2023-03-14

我的项目中有多个故事板。我在一个故事板中有一个主页面浏览量控制器,我在一个单独的故事板中有一个安装视图控制器嵌入导航控制器。现在,当我从主页视图控制器中显示安装视图控制器导航控制器时,状态栏不会隐藏。但是当我将安装视图控制器故事板设置为info.plist中的主故事板文件库,并且安装视图控制器导航控制器是第一个呈现的视图时,状态栏将隐藏。我正在使用下面的代码隐藏状态栏。有人能告诉我当状态视图控制器由另一个故事板视图控制器呈现而不是被设置为第一个视图控制器时,如何隐藏状态栏吗?这是我用来隐藏状态栏的代码,

override var prefersStatusBarHidden: Bool {  
      return true  
} 

共有1个答案

梁丘琛
2023-03-14

可以在条件中隐藏状态栏。。您需要在状态栏上添加另一个窗口对象。

let stautsBarWindow = UIWindow(frame: UIScreen.main.bounds)
stautsBarWindow.backgroundColor = UIColor.clear
//Instead of Presenting just assign your viewController in below line it will hide your statusBar as well.
stautsBarWindow.rootViewController = yourSideMenuViewController
stautsBarWindow.windowLevel = UIWindowLevelStatusBar
stautsBarWindow.isHidden = false
 类似资料:
  • 我有一个前台服务,按下按钮后会显示一个窗口。有没有办法隐藏(或过度隐藏)服务窗口显示屏上的系统状态栏?有我可以用的旗子吗?我试着到处找,但运气不好。

  • 我有一个问题,当它涉及到状态栏和隐藏它。 我有一个具有幻灯片菜单的BaseViewController。这个BaseViewController也是应用程序[的根控制器,设置在应用程序中]: 只要我选择一个菜单项,BaseViewController就会被相应的ViewController填充[在我将其嵌入导航控制器之后]。 菜单项A:ViewControllerA 菜单项B: ViewContr

  • 我在隐藏状态栏时遇到了一些麻烦。 如果我使用此代码进入完全沉浸式模式(隐藏状态栏和导航),它确实会隐藏导航,但状态栏仍保持在那里: 我也尝试过使用清单: 两者都不管用。还尝试了不使用setSysteMivis()函数的清单方法(只是为了测试它是否可以工作——应该是这样的,因为我以前用过这个),但没有。 在Android 4.4.2(索尼z2平板电脑)和Android L-Dev预览版(第二版,Ne

  • 我有一个视图控制器,这是导航控制器的rootVc。 我需要为rootview控制器隐藏导航栏,因此我使用以下方法来隐藏它并使其重新出现。 我基本上是在rootVc中隐藏导航栏,并为所有其他视图控制器显示它。 但当我移除导航栏时,我看到我的内容正在状态栏下扩展 有办法解决这个问题吗?

  • 我看到当我将我的应用程序迁移到iOS7时,当呈现视图控制器时,导航栏会出现在状态栏下。我想很多人都遇到过同样的问题。这是我看到的截图: > 新视图必须以“模式”显示,即我需要presentViewController。 显示某种导航栏或工具栏,状态栏采用导航栏的背景色alaiOS7样式。 它必须对iOS6起作用。 我使用xib来处理布局,并启用了自动布局。 呃,我们是不是又回到了iOS前的5天,又

  • 我有一个应用程序,基于视图控制器的状态栏外观设置为。我的一些视图是深色的,一些视图是浅色的,应用程序有一个相当复杂的视图控制器层次结构,但它可以完美地将适当的方法子类化和重写,并与模式视图(捕捉呈现样式等)相结合。 然而,我需要一种全局的方式来查看顶部的特定项目(在状态栏后面,在我的应用程序边界内),就像顶部的个人热点/GarageBand录音/通话等栏一样。由于栏的背景颜色,我想在显示栏时覆盖状