首页 > 解决方案 > Storyboards 如何推送嵌套导航控制器?

问题描述

故事板允许我设置一个带有 push segue 的嵌套导航控制器(它工作正常):

在此处输入图像描述 在此处输入图像描述

但是,如果我尝试在代码中不使用 segue 的情况下执行此操作,我(预期)会抛出一个错误:

'不支持推送导航控制器'

@IBAction func showTapped(_ sender: Any) {
    guard let secondNav = self.storyboard?.instantiateViewController(withIdentifier: "SecondNavID") else { return }
    self.navigationController?.pushViewController(secondNav, animated: true)
}

最终,我试图在代码中重现上面的故事板行为(没有 segue),但我不确定它在做什么。

即使故事板设置为“显示”,故事板是否默认为“呈现”?

标签: iosswiftuiviewcontrolleruinavigationcontroller

解决方案


这是“Show”和“Present Modal”的屏幕截图,因此故事板似乎只是恢复为导航控制器的 Present: https ://imgur.com/a/7ytObW2

似乎最好的解决方案是删除任何“显示”序列并替换为“当前”


推荐阅读