首页 > 解决方案 > 首先启动导航堆栈的第二个视图控制器

问题描述

有一个默认的日历应用程序。

它从下一个视图控制器开始,并且后退按钮已经存在,就像在此之前启动了其他一些视图控制器一样:

在此处输入图像描述

当您按下后退按钮时,您将获得下一个视图控制器:

在此处输入图像描述

他们是如何做到的呢?

在我的应用程序中,我需要相同的逻辑(使用最新或默认类别启动视图控制器,但用户可以按后退按钮选择不同的类别)

标签: iosuiviewcontrolleruinavigationbaruinavigationcontroller

解决方案


如果我要这样做,我将首先使用根视图控制器的方法pushViewController(animated:)将月视图推送到导航堆栈上。对用户来说,该日历已经在导航堆栈深处出现了一层。animated: falseviewWillAppear(animated:)

因此,第一个控制器是年视图,然后月视图是第二个压入堆栈的控制器,但这一切都发生在用户看到任何视图之前。很简单,对吧?

这是UINavigationController 的文档,以防万一。


推荐阅读