3

在使用 presentViewController 从该 ViewController 转到另一个 ViewController 后,我试图返回到当前状态的特定 ViewController。

但是当我尝试关闭另一个 ViewController(使用dismissViewController)时,我得到一个白屏。

RootViewController *rootViewController 
   = [[UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]
             instantiateViewControllerWithIdentifier:@"RootViewController"];
    [self presentViewController:rootViewController animated:YES completion:nil];

这也不是一个选项,因为它实例化了一个新的视图控制器,我希望旧的视图控制器处于当前状态。

在呈现另一个 ViewController 时是否需要将 RootViewController 作为参数传递,或者是否有另一个选项可以在当前状态下返回 RootViewController?

4

2 回答 2

5

是的,有一种方法可以返回原始屏幕。我遇到了同样的问题,但用下面的代码行解决了

[self dismissViewControllerAnimated:YES completion:nil];
于 2014-09-19T16:20:25.590 回答
-1

解决此问题的一种方法是避免让一个视图控制器负责呈现和关闭另一个视图控制器。您可以做的是创建一个控制器控制器(给它一个单例方法)。并让该对象基本上保留对您有兴趣维护其状态的任何视图控制器。这样,当您关闭或呈现视图控制器时,您就不必担心幕后发生的事情。

于 2013-09-06T13:54:30.680 回答