ios - 首先启动导航堆栈的第二个视图控制器
问题描述
有一个默认的日历应用程序。
它从下一个视图控制器开始,并且后退按钮已经存在,就像在此之前启动了其他一些视图控制器一样:
当您按下后退按钮时,您将获得下一个视图控制器:
他们是如何做到的呢?
在我的应用程序中,我需要相同的逻辑(使用最新或默认类别启动视图控制器,但用户可以按后退按钮选择不同的类别)
解决方案
如果我要这样做,我将首先使用根视图控制器的方法pushViewController(animated:)
将月视图推送到导航堆栈上。对用户来说,该日历已经在导航堆栈深处出现了一层。animated: false
viewWillAppear(animated:)
因此,第一个控制器是年视图,然后月视图是第二个压入堆栈的控制器,但这一切都发生在用户看到任何视图之前。很简单,对吧?
这是UINavigationController 的文档,以防万一。
推荐阅读
- javascript - Javascript:使用嵌套 for 循环将嵌套数组转换为单个数组
- google-apps-script - 无法从值数组中检索单个值
- python - python 使用 python BaseHttpRequestHandler 提供图像和数据
- javascript - RxJs Observable 并行发出请求,直到失败
- ios - YTPlayerView 不在模拟器上播放内容(解码失败,错误代码)
- java - log4j2中的“配置状态”和“根级别”有什么区别
- compiler-construction - Coq中的部分函数/未定义?
- bison - flex bison:创建多个字符变量
- kiwi-tcms - Kiwi 向 Bugzilla 报告问题
- apache-nifi - NiFi 阻塞/挂起