ビューコントローラでは、別のビューコントローラを表示するボタンがあります。 2番目のビューコントローラから、私は他のビューコントローラに行くことができますが、必ずしもここで私を得たコントローラに戻る必要はありません。この場合、元のView Controllerを削除するにはどうすればよいですか?iPhone - 表示されているビューコントローラを削除する
9
A
答えて
25
あなたの説明はここで少し不明です。ここでは3種類のケースが考えられます:
- ちょうどナビゲーションコントローラのスタックに現在に別のビューコントローラを追加する別のビューコントローラ
- にナビゲーションコントローラ階層を抜け出しナビゲーションコントローラ階層
- を移動する
最初に、UINavigationControllerのメソッドを使用できます。
- (UIViewController *)popViewControllerAnimated:(BOOL)animated
- (NSArray *)popToViewController:(UIViewController *)viewController animated:(BOOL)animated
- (NSArray *)popToRootViewControllerAnimated:(BOOL)animated
を使用し、viewControllersプロパティを使用してスタックをナビゲートします。
[[[UIApplication sharedApplication] keyWindow].rootViewController dismissViewControllerAnimated:YES completion:nil];
[[UIApplication sharedApplication] keyWindow].rootViewController = newController;
またはより良い:あなたは1つの完全に別のビューコントローラに階層を抜け出すにしたい場合は
伊那秒1、、、単純でそれを行う最初の行の完了ブロックの2行目を追加します。
または第三のケースでは、あなたが唯一の例外を作りたい場合は、それ以外の方法を使用し、その後、ナビゲーションコントローラのスタックにとどまる:
- (void)addChildViewController:(UIViewController *)childController
- (void)removeFromParentViewController
17
現在の表示コントローラの表示方法によって異なります。 それはナビゲーションコントローラを使用して押された場合は、その後、
[self.presentingViewController dismissViewControllerAnimated:YES completion:nil];
、モーダルだった場合:
[self.navigationController popViewControllerAnimated:YES];
関連する問題
- 1. iPhoneの警告表示ビューコントローラを除外
- 2. ビューコントローラに表示されているすべてのビューを知る
- 3. ビューコントローラを表示するときにナビゲーションとタブバーが表示されない
- 4. ローカルに表示されている "リモート"ブランチを削除するには?
- 5. iPhoneアプリケーションを表示するサブビューを削除しますか?
- 6. Spreeで削除されていない製品を表示制限する
- 7. 空のdivから表示されるインラインブロックマージンを削除する
- 8. iphone mkmapview nagivationbarを非表示/削除する
- 9. 削除できず、iPhoneにしか表示されないHTMLボタンの空白?
- 10. 削除されたデータストアのエントリが再度表示される
- 11. Flurry - 削除されたイベントが再び表示されない
- 12. 削除された行を表示するT-SQL
- 13. 削除されたデータを表示するGridview
- 14. 削除されたコンソール出力を表示する
- 15. ピボットに表示された重複行を削除する
- 16. すべてのチェックされた値を表示して削除するTR
- 17. iPhoneのEXC_BAD_ACCESSは、タブバーのビューコントローラを変更した後に表示されます。
- 18. IPhone UITableViewは、削除ボタンが表示されたときに開示ボタンを表示しません。
- 19. storyboardからuiviewを削除してもまだ表示されています
- 20. UISearchViewControllerに対してビューコントローラの表示を解除しようとしているときに、ビューコントローラを表示しようとしていません
- 21. すべてのビューコントローラをタブバコントローラから完全に削除する
- 22. 削除された行が再表示されます
- 23. jqueryの削除ボタンをクリックして、表示されたテーブルの行を削除する方法
- 24. ウィジェットを選択しているときに表示されている色を削除します
- 25. ビューコントローラを押した後に、ナビゲーションバーの影が表示される
- 26. ビューコントローラをポップした後に表示されるタブバー
- 27. 強調表示されていない単語に関連する表の行を削除します。
- 28. DataTables:行を削除して別の行を削除すると、削除された行が再び表示されます
- 29. git:バージョン管理されないファイルを非表示/削除する
- 30. Iphone:ツールバーを削除する
は、あなたがこれまでにしようとしているものにように、コードを投稿することができます。また、View Controllerをロードするために使用しているものもあります。それはUINavigationControllerですか? View Controllerをポップしようとしましたか? –
私のための愚かな質問のように見える...あなたが今まで試したことがあるいくつかのコードを貼り付けてください... –
私はdismissViewControllerまたはpopViewControllerを使用する場合、これらのどちらも私を元のビューコントローラに連れて行きませんか?可能であれば、最初のView Controllerを終了する方法を探しています。 – Carmichael