【发布时间】:2013-06-26 03:21:49
【问题描述】:
我在 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 没有。
谢谢,
马特。
【问题讨论】:
-
确保在主线程上关闭视图控制器。特别是因为您正在响应身份验证请求,如果您是通过回调方法执行的,您可能不会这样做,并且可能会导致各种奇怪的问题......
-
在 dispatch_async(dispatch_get_main_thread(), ^{});块。
-
视图被关闭,但控件没有返回给 splitViewController。
-
哦,虽然我没有在第一条评论中提到它,但请确保您也在主线程上展示了 VC....
-
啊,对不起,没用!
标签: ios uiviewcontroller uisplitviewcontroller