3

ビューコントローラーBをプッシュするナビゲーションコントローラーAがあります。BからビューコントローラーCをモーダルに提示します。Cを閉じてBを同時にポップする必要があります。最初に却下アニメーションを保持し、次にBからAへのポップアニメーションを保持して、順番にそれを行いたいと思います.私はこのコードを成功させずに試しました:

[self dismissViewControllerAnimated:YES completion:^{
       [self.presentingViewController.navigationController popViewControllerAnimated:YES];
}];

どうすればこれを達成できるかについての提案はありますか?

4

3 に答える 3

1

C viewcontoller で書いている場合:

UIViewController *pvc = self.presentingViewController;
UINavigationController *navController = [pvc isKindOfClass:[UINavigationController class]] ? (UINavigationController *)pvc : pvc.navigationController;
[self dismissViewControllerAnimated:YES completion:^{
  [navController popViewControllerAnimated:YES];
}];

またはBビューコントローラーの場合

[self.presentedViewController dismissViewControllerAnimated:YES completion:^{
   [self.navigationController popViewControllerAnimated:YES];
}];
于 2014-10-21T14:27:05.750 に答える
0

ストーリーボードとセグエを使用していますか? その場合は、アンワインド セグエを使用できます。

最初のビュー コントローラー (元のビュー コントローラーではなく、ジャンプ戻りたいビュー コントローラー) で、アンワインド セグエ アクションを作成します。

- (IBAction)gotoMainMenu:(UIStoryboardSegue *)segue
{
    // if you need to do anything when you return to the main menu, do it here
}

ここに画像の説明を入力次に、ストーリーボードで、シーンの上のバーにある「閉じる」ボタンから出口出口アイコン ( ) までのセグエを作成すると、main menuそこにリストが表示されます。

于 2014-10-21T14:28:06.443 に答える