0

目前我有3个控制器,A,B和C。我点击一个按钮AController并呈现BController,然后我调用一个api BController,如果成功,我想去CController,但我想同时关闭BController。然后我成功调用另一个api CController,当我关闭时CController,我希望屏幕会回到Acontroller. 所有三个控制器都不在导航控制器堆栈中。

我的实现:

BController,调用presentViewController:(CController)方法和dismissViewController:(self),但我失败了,屏幕没有黑色,希望有人能帮我解决这个问题。

谢谢!

4

3 回答 3

0

Just do your normal way and add this line when you want to dismiss the CController

    [self.navigationController popToRootViewControllerAnimated:YES];
于 2013-11-06T09:55:07.313 回答
0

请执行下列操作:

  • 来自 A 与 presentViewController:animated:completion:
  • 从 B 呈现 C 与 presentViewController:animated:completion:
  • 当在 C 上满足条件时,只需使用 dismissViewControllerAnimated:completion: 关闭 C 上的属性“presentingVIewController”,有效地关闭 B 控制器,该控制器将自动关闭 C 并且您“着陆”在 A 控制器上
于 2013-11-06T10:51:43.380 回答
0

然后执行以下操作:

1) A -> present B

2) B executes some method and if it is success -> delegate method to A, 
f.e (void)bControllerDidSuccess


3) in A Controller delegate method (void)bControllerDidSuccess: 
    A dismissViewController; // A dissmising B
    A presentViewController:C // A presenting C
于 2013-11-06T09:50:23.897 回答