0

これが私のセットアップです:

ナビゲーション コントローラー: ViewcontrollerA -> ViewControllerB

ViewcontrollerB は imagePickerController を表示し、自分自身を Delegate として設定します

ユーザーが UIImagePicker から CANCEL を押した場合、ViewControllerB を完全に閉じて、ユーザーを ViewControllerA に戻します。

の:

-(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker

私は電話した:

[self dismissViewControllerAnimated:YES completion:nil];

[[self parentViewController]  dismissViewControllerAnimated:YES completion:nil];

[[[self parentViewController] parentViewController]  dismissViewControllerAnimated:YES completion:nil];

うまくいきません。ViewControllerB はまだぶらぶらしています。

プログラムで B をそれ自体から完全に却下するにはどうすればよいですか?

4

2 に答える 2

2

ViewControllerA は ViewControllerB を提示していますか、それとも ViewControllerB はナビゲーション コントローラを介してプッシュされていますか? 押しつぶされそうです。この場合、私は試してみます

[[self navigationController] popViewControllerAnimated:YES];

わかりやすくするために編集します。イメージピッカーを元のように閉じたいと思います。popViewControllerAnimatedViewControllerB を取り除くために使用します。

于 2013-10-11T17:54:06.753 に答える
0

表示側のビュー コントローラーは、表示されたビュー コントローラーを閉じる役割を果たします。提示されたView Controller自体でこのメソッドを呼び出すと、メッセージが提示元のView Controllerに自動的に転送されます。

[self.presentingViewController  dismissViewControllerAnimated:YES completion:nil];
于 2013-10-11T17:56:00.890 に答える