viewDidAppear调用了一个在iOS8中被解雇的viewcontroller

iCa*_*ode 5 iphone objective-c uiviewcontroller ios ios8

让我们假设ParentViewcontroller为P,FirstViewController为V1,SecondViewController为V2.

我将从P中呈现V1,然后从V1呈现V2.现在我想直接去P.对此我正在使用

[self.presentingViewController.presentingViewController dismissViewControllerAnimated:NO completion:nil];
Run Code Online (Sandbox Code Playgroud)

这在iOS7中工作正常.但是在iOS8中我做这个时遇到了一个问题(不知道是不是问题).这就是正在调用V1的viewDidAppear方法,并且它的视图在屏幕上出现故障只有几分之一秒.

这是iOS8功能还是bug?有没有其他方法可以做到这一点?

ViewControllers呈现代码.

从P,其中P是推动视图控制器,

ViewController1 *v1 = [[ViewController1 alloc] init];      
[self presentViewController:v1 animated:NO completion:nil];
Run Code Online (Sandbox Code Playgroud)

来自V1,

ViewController2 *v2 = [[ViewController2 alloc] init];
[self presentViewController:v2 animated:NO completion:nil];
Run Code Online (Sandbox Code Playgroud)

Tho*_*mon 0

您可以在 NavigationController (NV) 中使用您的 V1 嵌入吗?这样你就可以推送你的V2了。然后您可以弹出到 V1 或将 NV 关闭到 P。