2012-04-06 16 views
2

すぐにrootViewControllerに行く方法はありますか?私はスタックからすべてのビューを削除したい& rootViewControllerに戻っても、その上にビューのシーケンスを邪魔することなく。ドキュメントからすぐにRootViewControllerに戻る

+0

作成しているアプリの種類は、タブバーベースですか、それとも他のものですか? – Kuldeep

+0

簡単なUIViewControllerベースのアプリケーションです。私のルートビューコントローラはUIViewControllerのサブクラスであり、必要に応じてModalViewController、UINavigationControllerを使用します。 – Abhinav

答えて

3

まず、私はあなたが、あなたはすべてのプッシュビューコントローラを開くことができます提示モデルを却下する必要があると思います。提示されたモデルは、ナビゲーションのスタックにはありません。

[self dismissModalViewControllerAnimated:YES]; 

次に、ベースビューコントローラにポップできます。

[self.navigationController popToRootViewController:YES]; 
8

popToRootViewControllerAnimated: ルートビューコントローラを除くポップスタック上のすべてのビューコントローラ>と表示を更新します。

アニメーション

- (NSArray *)popToRootViewControllerAnimated:(BOOL)animated

パラメータ

:トランジションをアニメーション化するYESにこの値を設定し

。ビューを表示する前にナビゲーションコントローラを設定している場合は、NOを渡します。

戻り値:スタックからポップされているビューコントローラの

配列。

+0

これは動作していないようです。私はバックグラウンド&私が[self.viewController popToRootViewController:NO]と呼んでいるアプリケーションデリゲートから来ています。バックグラウンドに行く前に、私はrootViewControllerからモーダル・ビュー・コントローラーを提示しました。これはバックグラウンドから来た後でもありました。 – Abhinav

+0

'popToRootViewControllerAnimated:'の意味ですか? 'popToRootViewController:'ではなく。 – msgambel

+0

はいNSArray * anArray = [self.navigationController popToRootViewControllerAnimated:NO]; NSLog(@ "Popped View Controller =%@"、anArray); logステートメントはNullを出力します。 – Abhinav

1

はこれを試してください: -

[self.viewController popToRootViewController:YES]; 
関連する問題