【问题标题】:Prevent View Controller from extending under status bar防止视图控制器在状态栏下扩展
【发布时间】:2020-06-02 08:48:56
【问题描述】:

我有一个视图控制器,它是导航控制器的 rootVc。

我需要为根视图控制器隐藏导航栏,因此我使用以下方法将其隐藏并使其重新出现。

override func viewWillAppear(_ animated: Bool) {
    self.navigationController?.setNavigationBarHidden(true, animated: false)
}

 override func viewWillDisappear(_ animated: Bool) {
    self.navigationController?.setNavigationBarHidden(false, animated: false)
}

我基本上是将导航栏隐藏在 rootVc 中并为所有其他视图控制器显示它。

但是当我删除导航栏时,我看到我的内容正在状态栏下方扩展

有没有办法解决这个问题?

【问题讨论】:

  • 检查代码或 UIStoryboard 中的安全区域。
  • @Gagan_iOS 安全区域正在扩展到视图控制器的顶部。
  • 我认为该代码完全符合您的要求。当您从代码中删除栏时,您可能需要以编程方式更新约束
  • @Болат-Тлеубаев 所以我需要在删除导航栏后添加边距吗?

标签: ios swift uiviewcontroller uinavigationcontroller ios-statusbar


【解决方案1】:

不要将顶部约束设置为 superView,而是使用 安全区域。 像这样的

【讨论】:

    猜你喜欢
    • 2013-06-13
    • 2014-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多