如何快速将需求视图控制器推送到导航控制器

Posted

技术标签:

【中文标题】如何快速将需求视图控制器推送到导航控制器【英文标题】:How to push require view controller to navigation controller in swift 【发布时间】:2017-04-21 08:45:54 【问题描述】:

我正在开发一个具有登录屏幕和验证码屏幕的应用程序。一旦用户登录并注销,我只需要显示登录屏幕,那么我该如何管理导航视图控制器。现在,当我按下退出按钮时,我的验证码视图控制器在显示登录视图控制器之前首先出现。

请告诉我如何管理视图控制器?

【问题讨论】:

你想要什么?在此处添加确切的流程 LoginViewController -->VerifycodeViewController-> MainViewController ->LoginViewController 需要从MainViewController弹回loginViewController 【参考方案1】:

你可以用这个方法didFinishLaunchingWithOptions(AppDelegate):

    self.window = UIWindow.init(frame: UIScreen.main.bounds)

    if (User.isLogged) 
        window?.rootViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "loginVC") as! LoginVC
     else 
        window?.rootViewController = UIStoryboard(name: "Main", bundle: nil).instantiateInitialViewController()!
    

    self.window?.makeKeyAndVisible()

创建类User,当您可以存储有关状态用户(授权与否)的信息并在didFinishLaunchingWithOptions 中检查此状态并为窗口设置rootViewController。

【讨论】:

以上是关于如何快速将需求视图控制器推送到导航控制器的主要内容,如果未能解决你的问题,请参考以下文章

如何在将数据推送到导航堆栈之前将数据传递给视图控制器并加载它?

SWRevealViewController推送到实际的导航控制器

如何使用 prepareForSegue 方法从视图控制器推送到导航视图控制器?

如何检查视图控制器是不是以模态方式呈现或推送到导航堆栈上?

从标签栏按钮将视图控制器推送到导航控制器上

将 UIViewController 推送到导航堆栈时如何显示选项卡栏