いくつかのサブビューから選択するために使用されるメインビューを持つポップオーバーがあり、ユーザーがポップオーバーの外側をタップしてウィンドウを閉じたときに、ポップオーバーをメインビューにリセットしたいと思います。
たとえば、メインのポップオーバービューには、[オプション]、[カテゴリ]、[ワードリスト]、および[結果]があります。次回ユーザーがポップオーバーを呼び出したときに、最後にポップオーバーを閉じたときのビューに戻るのではなく、メインビューに戻るようにしたいと思います。
深さが1レベルしかない場合は、
- (void)viewWillDisappear:(BOOL)animated {
[[self navigationController] popToRootViewControllerAnimated:YES];
[super viewWillDisappear:animated];
}
しかし、階層の奥深くにいる場合、たとえばWordList:Category:Wordsビューが消えたら、次のレベルに移動したいので、WordListまたはCategoryのルートにポップできません。上記のコードを使用すると、レベルを下げることができません。ルートビューに移動します。
私が欲しいのは、ポップオーバービューが閉じられたときにそのルートにポップするように指示できるようにすることです。このようなもの:
- (void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController {
[[self popover] popToRootViewControllerAnimated:YES];
[self.popoverController dismissPopoverAnimated:YES];
}
何かご意見は?