Swift - 永久视图控制器 Segue(在导航控制器之外)

Swift - Permanent View Controller Segue (outside of Navigation Controller)

将一个视图控制器从一个视图控制器永久移动到另一个视图控制器时遇到一些问题。正常的 segues 似乎都有一个 'go back' 选项。

我知道我可以在导航控制器中嵌入 VC 并创建一个自定义 segue 来重写 hierarchy/changes root VC

class ReplaceSegue: UIStoryboardSegue {

    override func perform() {
        source.navigationController?.setViewControllers([self.destination], animated: false)
    }
}

但我想避免使用导航控制器,因为它会在我稍后添加 SWRevealViewController 时造成混淆。

Can/Should 我更改故事板 VC(在 AppDelegate 之外)?

谢谢 - 如果这是一个 'beginner' 问题,我们深表歉意

您可以更改主 window:

的 rootViewController
self.window.rootViewController = vc

或者您可以简单地将 vc 的 modalPresentationStyle 设置为全屏(这本身没有 "go back" 选项,只有您可以通过调用 dismiss 来关闭它)


let vc = UIViewController()
vc.modalPresentationStyle = .fullScreen

或从情节提要中将其演示样式更改为全屏。