【问题标题】:How to use navigation controller in complex flow如何在复杂流程中使用导航控制器
【发布时间】:2026-02-11 10:30:01
【问题描述】:

让我解释一下上下文。这是我第一次在 xcode 中使用闪屏和复杂流程,非常感谢您的帮助。

我的流程如上图

在 splashVC 中,我必须检查用户是否已登录。如果已登录,则我必须转到主页,如果没有,则必须转到登录。

在 LoginVC 中我可以回家,或者找回密码。

在 Home 中,我有 2 种用户类型,当类型 1 时,我转到 X,当类型 2 时,我转到 Y。

我可以从 Home、X 和 Y 访问个人资料 VC。

现在我面临一个问题。我只使用简单的流程和一个导航控制器工作(我是新手).. 有必要在这里使用更多导航吗?或者我怎样才能做到这一点?

在设计中出现了导航栏(后退按钮)和标题,为此我要求导航控制器。

我还没有在导航控制器中嵌入任何 VC,当我对另一个 VC 执行 Segue 时,下一个会出现,如上图所示。那么,有必要使用导航吗?或者我怎样才能解雇以前的 VC 并实现第二个看起来不像模态。

提前致谢。

【问题讨论】:

    标签: ios swift xcode uinavigationcontroller


    【解决方案1】:

    如果您单击 segue 本身,并检查属性检查器,则有一个 Presentation 选项。我相信您想将其设置为全屏。

    【讨论】:

    • 感谢您的回答,但是关于navigationcontroller 的问题呢?
    【解决方案2】:

    如果您希望以编程方式进行:

    let vc = UIViewController() // your case profilevc will be I think
    vc.modalPresentationStyle = .fullScreen
    self.present(vc, animated: true, completion: nil)
    

    或故事板:

    【讨论】:

    • 感谢您的回答,但是导航控制器的回答呢?
    • 它应该已经使用导航控制器,所有视图控制器都将在您的导航中。控制器堆栈并使用这些将呈现全屏所需的 vc