UINavigationController
のスタックからビューコントローラをポップするには、[self.navigationController popViewControllerAnimated:YES];
をインスタンス化した親ビューコントローラか、子ビューコントローラ自体から呼び出すことができます。どの方法が好ましいですか?親または子のViewControllerからpopViewControllerを呼び出す必要がありますか?
4
A
答えて
3
答えは「何が最も理にかなっている」と思います。あなたが言ったように、popViewControllerAnimated:
を、親、子、またはナビゲーションコントローラへの参照を保持する他のクラスから呼び出すことができます。
ほとんどのアプリケーションでは、子ビューに「戻る」または「完了」ボタンなどのアクションが表示され、ポップされます。一般に、私はこれが好ましい動作であると言います。子ビューコントローラがポップします。
それ以外の場合、子供は(ポップ!)と言うために(代理人などを介して)親に電話する必要があります。それはpopViewControllerAnimated:
と呼ばれます。このような単純な行動のために、これはちょっと複雑に感じられます。
関連する問題
- 1. phpからjavascriptまたはjqueryを呼び出す必要があります
- 2. TForm.ManualDockはonFormShowを呼び出す必要がありますか?
- 3. SqlTransactionはDisposeを呼び出す必要がありますか?
- 4. 親プロセスで常にlisten()を呼び出す必要がありますか?
- 5. Android - 指定した子にはすでに親があります。最初に子供の親のremoveView()を呼び出す必要があります
- 6. リポジトリは別のリポジトリを呼び出す必要がありますか?あるいは、リポジトリがサービス層を呼び出す必要がありますか?
- 7. 指定された子にはすでに親があります。最初に子の親に対してremoveViewを呼び出す必要があります
- 8. ダイアログ・フラグメントjava.lang.IllegalStateException:指定された子にはすでに親があります。子の親で最初にremoveView()を呼び出す必要があります。
- 9. realm.close()はいつ呼び出す必要がありますか?
- 10. [table reloaddata]はメインスレッドからのみ呼び出す必要がありますか?
- 11. 子コントロールごとにSuspendLayoutを呼び出す必要がありますか?
- 12. CameraSource.stop()はUIスレッドから呼び出す必要がありますか?
- 13. Graphics.Dispose()を呼び出す必要がありますか?
- 14. いつjava.sql.Connection.rollback()を呼び出す必要がありますか?
- 15. [convertToGl]を呼び出す必要がありますか?
- 16. なぜresolve()を呼び出す必要がありますか?
- 17. いつsetContentAspectRatioを呼び出す必要がありますか?
- 18. GLSurfaceView:onPause/onResumeを呼び出す必要がありますか?
- 19. コードビハインドファイルでValidate()を呼び出す必要がありますか?
- 20. クローズ接続を呼び出す必要がありますか?
- 21. いつMessageQueue.EndReceive()を呼び出す必要がありますか?
- 22. ARCでdispatch_releaseを呼び出す必要がありますか?
- 23. 毎回FacebookSdk.sdkInitialize()を呼び出す必要がありますか?
- 24. UITableViewCellでdeinitを呼び出す必要がありますか?
- 25. ネストされたディレクティブのanglejsから親関数を呼び出す必要があります
- 26. DialogFragmentをAsyncTaskクラスから呼び出す必要がありますか?
- 27. UIスレッド内からLooper.prepare()を呼び出す必要がありますか?
- 28. UserDataからcfn-initを呼び出す必要がありますか?
- 29. gtk_init関数を呼び出す必要がありますが、main関数から呼び出す必要はありません - C++
- 30. 親から子を削除する必要があります。親の子をすべてフェッチする必要はありますか?
あなたが提供している "戻る"ボタンの種類によって、左矢印のものは親ビューコントローラからのものです。 –
私の場合、親はテーブルビューの "フォーム"で、親はフィールドの可能な値のリストをブラウズ、検索、選択するためにテーブルビューですから、親に対してデリゲートメソッドを呼びます形。私の腸は子どもの中でそれをすると言われていますが、これは、ユーザーアクションが起こる(選択を選択する)ので、ビューを閉じる必要があるからです。 –
+1。私の腸はまた、アクションが子ビューにある場合、ポップへの呼び出しもそこにあるはずだと言います。 – gregheo