0

当我的应用程序启动时,我有一个模式视图控制器来输入凭据(IP@、用户名、密码......)。当用户登录时,他可以打开许多 UIViewControllers,这些 UIViewControllers 可以打开其他 UIViewController 等等......这些视图控制器可以是导航控制器、标签栏、模态......

接下来,用户可以将应用程序留在后台。接下来,用户可以打开邮件应用程序并打开包含附件的邮件以导航到我的应用程序。当用户选择我的应用程序打开附件时。

当应用程序在前台移动时,我需要转到层次结构的特定视图控制器(登录屏幕后打开的第一个视图控制器)。

要将应用程序移动到我尝试使用的第一个 ViewController –dismissViewControllerAnimated:completion:

但没有成功,仍然显示层次结构中的视图。

知道怎么做吗?问候,

塞巴斯蒂安。

4

2 回答 2

1

如果所有视图控制器都在 1 个导航控制器中并被推送到堆栈中,您可以简单地使用popToRootViewControllerAnimated:或者popToViewController:animated:

否则,为什么不关闭第一个 Modal 视图控制器,然后将其与您想要的视图控制器一起放回原处。

于 2013-12-04T22:23:22.117 回答
0

我用这段代码找到了一个解决方案

    UINavigationController* navc = (UINavigationController*)viewController.topViewController;
if (navc != Nil) {
    if (navc.presentedViewController != Nil) {
        [navc dismissViewControllerAnimated:FALSE completion:Nil];
    }
        [navc popToRootViewControllerAnimated:TRUE];
}

最后一点都不复杂!

塞巴斯蒂安。

于 2013-12-07T17:52:51.467 回答