31

それらの違いを知りたい。電話できるとき

[self dismissViewControllerAnimated:YES completion:nil];

いつ電話するべきか

[self.navigationController popViewControllerAnimated:YES];

アップルのドキュメントによると:dismissViewControllerAnimatedは、「レシーバーによって提示されたビューコントローラーを閉じる」ことを意味します。しかし、私はいつもこの方法でビューコントローラを閉じることができません。

4

2 に答える 2

41

-dismissViewControllerAnimated:完了:

UIViewControllerメソッドによって提示されたを却下するために使用されます。

-presentViewController:animated:completion:.

-popViewControllerAnimated:

のメソッドはUINavigationController、によって示されるコントローラをポップするために使用されます

-pushViewController:animatedの方法UINavigationController

最初のケースでは、ビュー コントローラーのビューはモーダル コントローラーとして表示されます (通常は下から上へ)。2 番目のケースでは、ビュー コントローラーを のナビゲーション スタックにプッシュしますUINavigationController

于 2012-06-18T09:31:57.347 に答える
39

選択したアプリケーションは、ナビゲーション ベースのアプリケーションです。

[self.navigationController popViewControllerAnimated:YES];

選択したアプリケーションは、ナビゲーション ベースのアプリケーション手段以外です

[self dismissViewControllerAnimated:YES completion:nil];
于 2012-06-18T09:31:32.313 に答える