你能不能连续调用dismissModalViewController吗?

时间:2012-01-26 16:20:52

标签: ios uiviewcontroller modalviewcontroller

我有一个模态视图控制器,用户可以在其中输入信息。当他们点击提交按钮时,该信息被发送到服务器并且模态视图控制器被解除。

但是,如果用户未登录,则当他们单击“提交”时,会加载登录屏幕(作为另一个模态视图控制器)。登录后,登录视图控制器将被关闭,其信息将被发送到服务器,视图控制器将被关闭。问题是,他们输入信息的视图控制器仍然在屏幕上。

我可以通过延迟解雇数据输入视图控制器来解决问题。似乎如果我一起快速关闭两个视图控制器,第二个仍然存在。

有没有人见过这个?

2 个答案:

答案 0 :(得分:1)

我已经确定问题是由于第一个模态被解除(视图控制器中的符号)在我解除第二个模态(数据输入视图控制器)之前不会消失。当发生第二次关闭调用时,登录视图控制器仍被视为顶视图控制器,因此第二个VC没有任何反应。

答案 1 :(得分:0)

这种情况正在发生,因为您只是从之前的控制器呈现新的modalView。 你没有解雇以前的控制器。

您需要从启动Login controller的位置关闭控制器。 你需要保持指向你的“信息”控制器的指针,并且在登录时提交成功,你需要解除信息控制器,例如从LoginController或appDelegate(你可以保持指针可访问的地方):

[info dismissModalViewControllerAnimated:NO];