【发布时间】:2014-02-06 14:08:45
【问题描述】:
我正在为 iOS 平台编写一个回合制游戏。客户端使用 CocoaAsyncSocket API 与远程服务器通信。现在我正在处理这种情况:客户端已经有一段时间不活动,并且由于超时而与服务器断开连接。如果是这种情况,我希望在应用进入前台时弹回登录视图,让用户重新登录。
我假设我必须在我的应用委托的 -(void)applicationWillEnterForeground 中做这种工作。检查我是否已连接不是问题,但我不知道如何关闭每个呈现视图控制器以将我带回根视图(恰好是登录视图)。
我的视图控制器以模态方式呈现,但我也有两个带有表视图的导航控制器,包括推送序列。
非常感谢您对此问题的任何帮助。提前致谢!
【问题讨论】:
-
稍微描述一下你的视图控制器。什么是根视图控制器(导航控制器、自定义)? VC 是否被推送/展示?
-
只是一个健全的检查 - 你试过 UINavigationController 的 - (NSArray *)popToRootViewControllerAnimated:(BOOL)animated 吗?
-
试试这个在你的应用上切换根视图控制器 [[[[UIApplication sharedApplication] delegate] window] setRootViewController:myVC];
标签: ios objective-c uiviewcontroller appdelegate