Segue 到 UITableViewController 覆盖导航栏

Segue to UITableViewController covers navigation bar

我有一个从 UIViewControllerUITableViewController 的转场,从屏幕底部进入场景。但是,它走得太远了,覆盖了导航栏。

我的视图层次结构是:Navigation Controller(初始视图控制器)> UIViewController > UITableViewController(隐藏导航栏的那个)。

我在 Interface Builder 中使用哪种类型的 segue 或选择哪些 Navigation Controller 选项似乎并不重要。我也尝试使用此代码取消隐藏导航栏,但它不起作用:

 override func viewWillAppear(animated: Bool)
{
    self.navigationController?.navigationBarHidden = false
}

我找到的所有关于未显示导航栏的答案都在 objective-C 中。我找到的唯一 Swift 个答案是人们想要隐藏导航栏。

我花了几个小时试图找到解决方案,所以如果有人能提供帮助,我们将不胜感激。

你不会使用 modal segue 吧?

您描述的行为(新视图从底部出现)听起来像模态。模式旨在覆盖整个 window,以便用户在处理完模式之前无法与应用程序的其余部分进行交互。

确保您使用的是 Show segue。