ビューコントローラでは、別のビューコントローラを表示するボタンがあります。 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. iPhoneアプリケーションを表示するサブビューを削除しますか?
- 5. 初期ビューコントローラが表示される前の現在のビューコントローラ
- 6. タイトルバーが表示されていないときに、Androidアプリで表示されるボトムパッドを削除します。
- 7. ビューコントローラに表示されているすべてのビューを知る
- 8. Delphiファイルを削除 - メッセージファイルが表示されています
- 9. iphone mkmapview nagivationbarを非表示/削除する
- 10. ビューコントローラを表示するときにナビゲーションとタブバーが表示されない
- 11. 削除できず、iPhoneにしか表示されないHTMLボタンの空白?
- 12. iPhoneからiPhoneに拒否されたアプリを削除する
- 13. ローカルに表示されている "リモート"ブランチを削除するには?
- 14. divタグの下に表示されているhrefを削除するには?
- 15. Spreeで削除されていない製品を表示制限する
- 16. VCコードが表示されていない状態でVCを削除する
- 17. ソフト削除はまだ表示に表示されていますlaravel
- 18. iPhoneのEXC_BAD_ACCESSは、タブバーのビューコントローラを変更した後に表示されます。
- 19. ajaxでglob()で表示される画像を削除する
- 20. 空のdivから表示されるインラインブロックマージンを削除する
- 21. モーダル表示されたビューコントローラから反転されたビューコントローラを外す
- 22. BootStrap ScrollSpy表示されているセクションにクラスを追加/削除します
- 23. テーブル行にカーソルを置いて表示されるブートストラップの編集と削除ボタンを表示する方法
- 24. 削除されたデータストアのエントリが再度表示される
- 25. 削除された写真がrecyclerviewに表示される
- 26. イメージをホバリングすると、削除オプションが表示されます。
- 27. 入力アクセサリビューが別のビューコントローラに誤って表示される
- 28. IPhone UITableViewは、削除ボタンが表示されたときに開示ボタンを表示しません。
- 29. 戻るボタンがビューコントローラに表示されない
- 30. Flurry - 削除されたイベントが再び表示されない
は、あなたがこれまでにしようとしているものにように、コードを投稿することができます。また、View Controllerをロードするために使用しているものもあります。それはUINavigationControllerですか? View Controllerをポップしようとしましたか? –
私のための愚かな質問のように見える...あなたが今まで試したことがあるいくつかのコードを貼り付けてください... –
私はdismissViewControllerまたはpopViewControllerを使用する場合、これらのどちらも私を元のビューコントローラに連れて行きませんか?可能であれば、最初のView Controllerを終了する方法を探しています。 – Carmichael