目前我有3个控制器,A,B和C.我点击AController
中的一个按钮并显示BController
,然后我在BController
中调用一个api,如果成功,我想去CController
,但我想同时解雇BController
。然后我成功地在CController
中呼叫另一个api,当我解雇CController
时,我希望屏幕将返回Acontroller
。所有三个控制器都不在导航控制器堆栈中。
我的实施:
在BController
中,调用presentViewController:(CController)
方法和dismissViewController:(self)
,但我失败了,屏幕上没有黑色,希望有些人可以帮我解决这个问题。
谢谢!
答案 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)
执行以下操作: