当出现新控制器并关闭电流控制器时出现黑屏

时间:2013-11-06 09:38:40

标签: ios objective-c uiviewcontroller

目前我有3个控制器,A,B和C.我点击AController中的一个按钮并显示BController,然后我在BController中调用一个api,如果成功,我想去CController,但我想同时解雇BController。然后我成功地在CController中呼叫另一个api,当我解雇CController时,我希望屏幕将返回Acontroller。所有三个控制器都不在导航控制器堆栈中。

我的实施:

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

谢谢!

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

只需按照常规方式添加此行,当您想要关闭CController

    [self.navigationController popToRootViewControllerAnimated:YES];

答案 2 :(得分:0)

执行以下操作:

  • 来自A present B with presentViewController:animated:completion:
  • 来自B present C with presentViewController:animated:completion:
  • 当在C上满足条件时,只需在C上使用dismissViewControllerAnimated:completion:解除属性“presentsVIewController”,有效地解除将自动解除C并且你在A控制器上“降落”的B控制器