2009-03-20 9 views
2

私は、階層内に多数のビューを持つ標準のテーブルビューアプリケーションを作成しています。私が3〜4回のビューをクリックしたとき、トップビューに戻る方法はありますか?私はそれをロードしようとしましたが、その後、私は階層を失います。前回のビューを2〜4回バックアップする

私は、このコマンドはバック「戻る」ボタンが何をするかである1つのビュー、私をもたらす知っている:

[self.navigationController popViewControllerAnimated:YES]; 
+0

を行う私はまた、[自己を試してみました。 navigationController popToViewController:sourceViewViewControllerアニメーション:はい]; これは私にエラーを与えました: '存在しないビューコントローラにポップしようとしました。' 私はそれを.hファイルで宣言し、それを '合成'しました。 – cmos

答えて

5

あなたはpopToRootViewControllerAnimatedを使用することができますかpopToViewController:アニメーション:メソッドを。

jumpする必要があるviewcontrollerを取得するには、配列内のnavcontrollerからすべてのviewcontrollersのリストを取得し、この配列からviewcontrollerを選択します。

はつまり、あなたの階層がsvc-> svc2-> vc1-> vc2-> vc3-> VC4であり、あなたがVC4から戻っVC1に行きたい場合は、この

NSArray *viewControllers = [[self navigationController] viewControllers]; 
UIViewController *controller = [viewControllers objectAtIndex:2]; 
[[self navigationController] popToViewController:controller animated:YES]; 
+0

ありがとうございました!この正確なコードはうまくいった。 – cmos

+0

これはまさに私のアプリで探していたものでした。私は2つのビューコントローラをポップし、親に値を設定する必要があります。私はちょうど親に値を作成し、メソッド呼び出しを使用して値を設定してからポップしました。ありがとう! – Stevus

関連する問題