2013-05-15 51 views
2

使用故事板和UINavigationController我的应用程序有很多UIViewControllers。最初的UIViewController被命名为viewController,并且是一种主页。applicationDidBecomeActive返回主页

如果用户离开应用程序和回报,我总要始终用户返回到主页(UIViewController)不会离开前的最后一个视图。在我的appDelegate中,如何使用applicationDidBecomeActive:调用/显示我的主页(UIViewController)?

回答

6

如果应用程序的根视图控制器是一个导航控制器,你可以做马辛Kuptel州,这里是你的情况下的解决方案。

- (void)applicationDidBecomeActive:(UIApplication *)application; 
{ 
    UINavigationController *navController = (UINavigationController *)self.window.rootViewController; 
    [navController popToRootViewControllerAnimated:NO]; 
} 
+0

谢谢大家的帮助 - 奥利弗的回答工作最适合我。再次感谢 – pete

2

您可以使用此:

[navigationController popToRootViewControllerAnimated: NO]; 
1

检查它。

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle: nil]; 
ViewController *lvc = [storyboard instantiateViewControllerWithIdentifier:@"viewController"]; 
self.window.rootViewController = lvc; 

将此代码放入applicationDidBecomeActive方法中。

1

applicationDidBecomeActive:可以被称为有几个原因,如后暂时中断(如来电或短信)来激活状态,不仅从后台到前台的过渡。我想在你这是更好地把别人建议的代码中applicationWillEnterForeground:

- (void)applicationWillEnterForeground:(UIApplication *)application 
{ 
    UINavigationController *navigationController = (UINavigationController *)self.window.rootViewController; 
    [navigationController popToRootViewControllerAnimated:NO]; 
}