iOS深层链接到特定的ViewController保留视图控制器堆栈

时间:2017-06-27 20:38:30

标签: ios iphone swift deep-linking

我正在为我的客户开发一个应用程序,他们希望能够从终止的应用程序深层链接到特定的视图控制器。这是当前的堆栈:

  • 启动屏幕
  • 启动画面(这是我们下载配置文件的地方)
  • VC1
  • VC2
  • VC3
  • VC4
  • VC5

客户希望能够通过深层链接启动应用程序,并在启动屏幕完成配置文件下载后,导航到特定的视图控制器(VC1-VC5)。问题是他们想要保留堆栈。所以我不能简单地从启动画面推送VC5,因为VC5需要能够比VC3回VC4而不是VC2等。

处理此问题的最佳方法是什么?任何帮助将不胜感激。提前谢谢!

1 个答案:

答案 0 :(得分:3)

您可以使用UINavigationController setViewControllers方法一次设置导航堆栈。只需创建每个视图控制器的一个实例,并将它们传递给您的导航控制器,如下所示:

process_item(self, item, spider)  #item Not items

请注意,这将覆盖当前导航堆栈中的所有视图控制器。 vc1将成为导航控制器的root vc。