ナビゲーションコントローラーで小さな問題が発生しました。私は2つの '分岐'を持つナビゲーションコントローラをセットアップしました。 aviewController1> aViewController2> aviewController3のように、もう1つの分岐はbiewController1> bviewController2です。今私がしたいのは、他のブランチの現在の位置から一番下のビュー(最初のビュー)(たとえば、viewController3> bviewController1など)を選択するオプションです。明らかに単純な[self.navigationController addSubview:someview.view]
は、私がそのビューに来るだけで、navコントローラの現在のスタックカウントを保持するので、仕事をしません。これを行う方法についていくつかアイデアを得ることができますか?UINavigationControllerの異なる「レイヤー」間のジャンプ
答えて
を行うことによって、それをスピードアップすることができます。すべてのpopViewController:animated:アニメーションをNOに設定した場合は、シームレスにする必要があります。
また、ナビゲーションコントローラには、ビューコントローラの別のセットに対してスタック全体をスワップアウトできるsetViewControllers:animated:メソッドがあります。これを使用して、既存のView Controllerスタックを変更可能な配列にコピーし、不要なものを削除し、追加したものを追加して、古いスタックを新しいスタックに一度に置き換えることができます。
ナビゲーションコントローラは基本的にスタックなので、安全な方法はa3をポップし、a2をポップし、a1をポップしてからb1を押します。
分岐がルートコントローラであるならば、あなたはあなただけのポップを複数回呼び出すことにより、複数のスタックをポップすることができますpoptoルートコントローラ
愚かな質問ですが、複数のスタックを同時にポップするにはどうすればよいですか? –
あなたがルートコントローラに行っていない限り、私は一度に1つずつオフにします。 –
これは動作するはずですので、私はルートコントローラに行く必要はありません。しかし何とか私は何度もポップを呼び出すと、スタックを1つポップするように見えます。私はこれをUIActionSheetボタンから呼び出すのですが、それは問題の原因になりますか? –
- 1. スタックデザインの異なるレイヤー
- 2. UINavigationControllerいくつかのレイヤーをポップ
- 3. numpy、配列の異なるレイヤーの異なるスライス
- 4. ジャンプ機能 - フレームレートが異なる
- 5. Taborderフレーム間のジャンプ
- 6. UINavigationControllerプッシュロードビューの各時間
- 7. 異なるView ControllerからのUINavigationController内のpushViewController
- 8. ケラス - レイヤー間の差_by_depthとレイヤー
- 9. 間欠ジャンプで駄目になるグラフィック
- 10. 異なるレイヤーにわたるアプリケーションインサイトのテレメトリーのトレース
- 11. as3のsvgファイルの異なるレイヤーに色付けする
- 12. Angular4の異なるレイヤーで観測可能な連鎖
- 13. PHP MVC - 異なるレイヤー間でデータを渡す方法 - オブジェクトまたは配列
- 14. UINavigationControllerのUINavigationController内のUITabBarController内のUINavigationController
- 15. 異なるチャネルのカウントが分岐してジャンプする
- 16. ThumbとARM間のジャンプ
- 17. UINavigationBarとUINavigationControllerのコンテンツの間のギャップ
- 18. iPhone:2つの異なるレイヤーでアニメーションを同期させる
- 19. タップと押されたままのジャンプが異なる(C#)
- 20. 異なるバージョン間のリモートアクセス
- 21. 異なるQGraphicsView間のドラッグアンドドロップ
- 22. 異なるバージョン間のWinRm
- 23. .Netどうやってセッションオブジェクトをasp.netプロジェクトの異なるレイヤー間で共有するのですか?
- 24. 畳み込みレイヤーと密なレイヤーの間に新しい情報を追加
- 25. Unity5:2D Platformer:異なる高さでジャンプする
- 26. uinavigationcontrollerの異常な動作UIButtonでクリックすると例外が発生する
- 27. サブライムテキストの2行の間をジャンプ
- 28. レイヤーのトランスフォームの回転とスケールをそれぞれ異なる時間で同時にアニメーション化
- 29. 異なるフォーマットの異なる国の時間を表示
- 30. 異なる間隔での異なるタスクのスプリングブートスケジューリング
[self.navigationController popViewControllerAnimated:NO]を呼び出してみました。お互いに何度も繰り返しますが、最初のスタックgetだけがポップされます。これはあなたがそれを正しく意味した方法ですか? –
View Controllerの1つから呼び出すのですか?そうであれば、現在呼び出されているビューコントローラをポップアップすると、viewControllerがナビゲーションスタックに存在しないため、self.navigationControllerはnilになるため、複数回は機能しません。 navigationControllerへの参照を取得して変数に格納する必要があります。次に、複数回ポップすることができます。例えばUINavigationController * controller = self.navigationController; [コントローラのpopViewControllerAnimated:NO]; [コントローラのpopViewControllerAnimated:NO];等... –