検索

ホームページ  >  に質問  >  本文

ios - presentViewController和pushViewController跳转页面之后,如何回到最初的页面?

A页面跳到B页面。用模态切换presentViewController的方式跳转

UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:VC];
    [self presentViewController:nav animated:YES completion:nil];

这样跳到了B页面。B又跳到了C页面。C又跳到D页面。

用导航控制器入栈的方式切换,代码如下:

[self.navigationController pushViewController:regSecondStepVC animated:YES];

现在问题来了。我要从D页面。直接回到A页面。应该怎么回?


好像这样解决了

[((UIViewController*)weakSelf.navigationController.viewControllers[0]) dismissViewControllerAnimated:YES completion:^{
                    [[NSNotificationCenter defaultCenter] postNotificationName:NotificationLoginCallBack object:nil];
                }];

只是还不算完美。首先切到了B页面,然后B消失,回到了A页面。
如果能从D直接动画切到A。不经过B页面,更完美。不过目前算可用了
希望有更完美的方案

黄舟黄舟2772日前654

全員に返信(3)返信します

  • 黄舟

    黄舟2017-04-17 17:12:06

    昨日は時間がなかったので、今日テストした結果、ランダムな質問に答えることができました。

    self.navigationController の dismissViewControllerAnimated メソッドを直接呼び出します。
    アニメーション効果は直接下に押し込まれます。

    返事
    0
  • 迷茫

    迷茫2017-04-17 17:12:06

    for (UIViewController *temp in self.navigationController.viewControllers) {

    リーリー

    返事
    0
  • PHP中文网

    PHP中文网2017-04-17 17:12:06

    ブロガーさん、私もこんな機能を開発中です。ついにこの問題は解決しましたか

    返事
    0
  • キャンセル返事