iPhone 8: 视图不隐藏在导航栏下

iPhone 8: view doesn't hide under the Navigation bar

我已经搜索了所有问题,大多数开发人员都在问如何解决视图隐藏在导航栏后面的问题,另一方面我想将我的视图隐藏在导航栏后面但没有运气。

我有一个表格视图,我希望它从导航栏后面开始。

到目前为止我已经尝试了。

    self.navigationController?.navigationBar.isTranslucent = true
    self.extendedLayoutIncludesOpaqueBars = true
    self.edgesForExtendedLayout = .top

但运气不好,我也尝试通过故事板启用,但也没有做任何事情。

正在添加截图

这是 NavBar 的检查器,

这是它显示的内容,

我们可以在小节后立即开始单元格。

单元层次结构,

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)

    // Hide the Navigation Bar
    self.navigationController?.setNavigationBarHidden(true, animated: animated)
}

override func viewWillDisappear(_ animated: Bool) {
    super.viewWillDisappear(animated)

    // Show the Navigation Bar
    self.navigationController?.setNavigationBarHidden(false, animated: animated)
}

关键是如何固定视图的顶部。它必须固定到主视图的顶部——而不是顶部主视图边距,而不是安全区域/顶部布局指南。仔细看这个屏幕截图:这是你的顶级约束必须看起来的样子:

当应用程序运行时,视图位于导航栏下方,正如 Interface Builder 中所示: