찾다

 >  Q&A  >  본문

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일 전650

모든 응답(3)나는 대답할 것이다

  • 黄舟

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

    어제는 시간이 없어서 자리에 앉아 아무렇지도 않게 대답을 했는데요, 오늘 테스트해본 결과는 이렇습니다.

    self.navigationController의 hideViewControllerAnimated 메서드를 직접 호출합니다.
    애니메이션 효과가 직접 아래쪽으로 밀립니다.

    회신하다
    0
  • 迷茫

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

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

    으아아아

    회신하다
    0
  • PHP中文网

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

    블로거님, 저도 그런 기능을 하고 있어요. 드디어 이 문제를 해결하셨나요

    회신하다
    0
  • 취소회신하다