我试图模仿Apple默认应用中的导航逻辑"照片"。以下是应用导航逻辑的说明。
当您第一次启动应用程序时,您将立即登陆" Moments"视图位于应用程序中第三高的层次结构级别。它非常有趣,因为整个"照片" tab似乎嵌入到单个NavigationController中。
但是,如果所有场景都嵌入到单个NavigationController中,您如何从非初始场景开始?
这是我的hackish实现,没有将场景嵌入任何NavigationController(所有segues都显示为show
:
这会导致我想要的行为,但我不确定内存问题。我是否每次循环分配新的VC?故事板看起来并不合适。
作为一个答案,一个简单的故事板捕获与简短的解释将很好。
答案 0 :(得分:2)
正如我在评论中所说,您需要修改.viewControllers
的{{1}}属性,您可以使用UINavigationController
方法执行此操作,或直接修改setViewControllers(_:animated:)
属性.viewControllers
1}}将是rootViewController
,viewControllersArray[0]
将是topViewController
此属性说明和详细信息可以在viewControllersArray[count-1]
文档
UINavigationController
属性
当前在导航堆栈上的视图控制器。
<强>声明强> 的 SWIFT 强>
viewControllers
讨论根视图控制器位于数组中的索引0处,后视图控制器位于索引n-2处,顶层控制器位于 index n-1,其中n是数组中的项数。
为此属性分配新的视图控制器数组是 相当于调用setViewControllers:animated:方法 动画参数设置为false。
示例强>
var viewControllers: [UIViewController]