0

違いは何ですか:

[self.navigationController presentModalViewController:nav animated:YES];

[self presentModalViewController:nav animated:YES];

ここで、selfはUIViewControllerのサブクラスです。

それとともに、モーダルビューをどのように却下するかは重要ですか?例:

[self dismissModalViewControllerAnimated:YES];

また

[self.navigationController dismissModalViewControllerAnimated:YES];

モーダルビューがによって提示された場合、でself.navigationController呼び出された場合は却下されselfますか、またはその逆ですか?

Appleが実際の実装でプロトコルとデリゲートを使用することを推奨していることは知っていますが、「内部」での動作が同じかどうかを調べようとしています。

私はこれに対する答えを探すために周りを見回していましたが、まだ何も見つかりませんでした。したがって、これが重複している場合は、事前にお詫び申し上げます。

ありがとう

4

1 に答える 1

1

どのクラスからこれを呼び出していますか (つまり、何ですかself)。ビューコントローラーから呼び出している場合の違いは、ビューコントローラーがモーダルビューをmodalviewcontroller表示するのではなく、ビューコントローラーが表示していることです。navigationcontroller

使用すると、View Controller にはない操作を行うself.navigationcontrollerことができます。self.navigationitem

編集:

はい、追加ViewControllersself.navigationController.ViewControllers配列にプッシュしnavigationBarてから、ViewController から ViewController に移動することができます。

例として[self.navigationController presentModalViewController:nav animated:YES];、ユーザーがボタンをクリックした場合に ViewController をプッシュすると[self.navigationController pushViewController:vc animated:YES]; 、新しい View Controller/View が ModalView 内に表示されます。ModalViewController を閉じると、元のビュー コントローラーに戻ります。

2 番目の質問に答えるには: 提示したのと同じ方法でモーダル ビューを閉じる必要があります。したがって、self.navigationController を使用して表示する場合は、self.navigationController を使用して非表示にします。

于 2012-04-05T16:53:52.423 に答える