UIViewController dismissViewControllerAnimated:completion:导致app冻结

时间:2013-06-26 03:21:49

标签: ios uiviewcontroller uisplitviewcontroller

我在iPad上的设置是一个UISplitViewController,可以处理应用程序的主要内容。这被设置为UIWindow的rootViewController。

当应用程序启动时,我会测试用户是否能够登录Web服务。如果用户无法访问Web服务,则会向他们呈现UIViewController子类,该子类处理用户的身份验证。 UIViewController子类通过调用以模态方式呈现: [splitViewController presentViewController:loginViewController animated:YES completion:nil];

当用户成功登录时,通过调用以下命令解除loginViewController: [splitViewController dismissViewControllerAnimated:YES completion:nil];

使用揭示应用程序(http://revealapp.com)我能够看到splitViewController现在以模态方式呈现而不是按预期呈现。

由于splitViewController以模态方式呈现,它现在不接受来自用户的任何输入。

之前有没有人遇到这种情况,并且能够帮助我。

更新:

问题看起来与在尝试登录时呈现的UIAlertView有关。这出现在用户点击“登录”并验证登录之间。有谁知道为什么/这会导致问题? UIAlertView没有被正确解散或者LoginViewController没有被解雇。

谢谢,

1 个答案:

答案 0 :(得分:0)

我认为你想要的是:

[loginViewController dismissViewControllerAnimated:YES completion:nil];

而不是

[splitViewController dismissViewControllerAnimated:YES completion:nil];