2017-06-27 1 views
1

私のクライアント用のアプリケーションを開発しており、終了しているアプリケーションから特定のビューコントローラへのデプリンクを可能にしたいと考えています。ここでは、現在のスタックです:iOSビューコントローラを保持している特定のViewControllerへの逆リンク

  • 起動画面
  • スプラッシュ画面がVC1
  • (私たちは、configファイルをダウンロードするのはここです)VC2
  • VC3
  • VC4
  • VC5

クライアントが望むディープリンクを介してアプリを起動する機能、およびスプラッシュ画面が設定ファイルのダウンロードを完了した後、特定のView Controller(VC1-VC5)にナビゲートする機能を提供します。問題はスタックを保持したいということです。だから、VC5はVC2よりもVC3よりもVC4に戻る能力が必要なので、私は単にSplash ScreenからVC5を押すことができません。

これを処理する最も良い方法は何ですか?どんな助けでも大歓迎です。前もって感謝します!

+0

あなたがストーリーボードを持っていれば、別のVCに行くための別の列を持つことができます。 – Knight0fDragon

+0

あなたはappDelegateにフラグを追加できます。 Appがurl-scheme経由で起動した場合は、このフラグを設定します。そして、このフラグの各VC viewDidLoadチェックで、下位レベルのVCをプッシュしてください。 –

答えて

3

UINavigationController setViewControllersメソッドを使用すると、一度にナビゲーションスタックを設定できます。ただ、各ビューコントローラのインスタンスを作成し、このようなあなたのナビゲーションコントローラに渡す:

navController.setViewControllers([vc1, vc2, vc3, vc4, vc5], animated: true) 

ただ、これはナビゲーションスタックに、現在のすべてのView Controllerを上書きすることに注意してください。 vc1はナビゲーションコントローラのルートvcになります。

+0

アプリを起動してVC1を開いて、いくつかの方法が完了するのを待ってください - 設定ファイルOPをダウンロードしてから、 vc - この場合のVC5? – LinusGeffarth

+0

はい、ビューコントローラスタックを任意に設定できます。設定ファイルをダウンロードしたら、移行する準備ができたら上記の方法を呼び出します。配列内の最後のvcが何であれ、示されたものになります。 – BJHStudios

関連する問題