0

私はTabBarItem(Email)を動的に追加しています。私のメールで終わったら、私は 'dismissModalViewControllerAnimated'を呼び出していますが、単にメールビューを閉じるだけです。 View Controllerをアンロードするにはどうすればいいですか?Mail TabBarItem dismissModalViewControllerAnimated

私は、次のやってる私の電子メールのビューコントローラで:

- (void)viewDidLoad => I would like to unload this view controller 
{ 
    [super viewDidLoad]; 
    [self showEMail:nil]; => this display and dismisses email (I'm not calling present.. and dismiss... in a row. I'm using delegate methods to present and dismiss, which is fine.) 
           [self presentModalViewController:picker animated:YES]; 
           [self dismissModalViewControllerAnimated:YES]; 

} 

私のタブバーの項目を選択した後、それは私のメールモーダルコントローラを提示されたビューコントローラ(「ABCビューコントローラ」と言うことができます)をロードしています。メールモーダルコントローラが正しく終了していません。 「ABC View Controller」をアンロードしてから、以前に選択したタブ項目に戻りたいと思います。出来ますか?私はここで何か間違っているのですか?事前

ラマ

答えて

0

ViewWiilAppearメソッドを使用してメールモーダルプレゼンターを表示することで問題を解決しました。

メールモーダルプレゼンターを却下した後、タブバーコントローラーのインデックスを選択しています。

self.tabBarController.selectedIndex = 0;

これは私の問題を解決しました。

乾杯

0

ラマで

おかげで、あなたの質問を理解するのは難しいです。おそらく、表示しているビューコントローラに対して委譲を使用する必要があります。

あなたのコードでは、[self presentModalViewController ...]と[self dismissModalViewController ...]を連続して呼び出しても意味がありません。

あなたはモーダルビューコントローラがその事業をやらせる(例えば、picker.delegate =自己)デリゲートとして

を提示ビューコントローラを作成し、最初の場所で[自己presentModalViewController ...]を呼びます[Deleted didFinish ...]や[Delegated didCancel ...]のような委譲メソッドを呼び出すなど、ユーザーのヒットをキャンセルする、閉じるなどのように終了するなどの処理を行います。

これは、デリゲーションメソッド呼び出し、ここではモーダルビューコントローラを閉じることができます

注:UIAlertView、UIActionSheetView、MPMoviePlayerViewControllerなど、多くのUIKitクラスがこのパターンを練習します。

+0

お詫び申し上げます。私はプレゼントを呼んでいるわけではない。私は、デリゲートメソッドを使用して表示したり解除したりしています。これは問題ありません。 View Controllerをアンロードするにはどうすればよいですか? – Krishna

+0

私のタブバー項目を選択した後、それは私のメールモーダルコントローラーを提示しているビューコントローラーをロードしています(「ABC View Controller」と言います)。メールモーダルコントローラが正しく終了していません。 「ABC View Controller」をアンロードしてから、以前に選択したタブ項目に戻りたいと思います。出来ますか?私はここで何か間違っているのですか? – Krishna

+0

あなたは他のタブバーに戻りたいですか? –