2

使用故事板和UINavigationController我的应用程序有很多UIViewControllers. 首字母UIViewController名为viewController,是一种主页。

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

4

4 回答 4

6

如果您的应用程序的根视图控制器是导航控制器,那么您可以按照 Marcin Kuptel 所述进行操作,这里有一个针对您的上下文的解决方案。

 - (void)applicationDidBecomeActive:(UIApplication *)application;
 {
   UINavigationController *navController = (UINavigationController *)self.window.rootViewController;
   [navController popToRootViewControllerAnimated:NO];
 }
于 2013-05-15T12:15:48.630 回答
2

你可以使用这个:

[navigationController popToRootViewControllerAnimated: NO];
于 2013-05-15T12:11:49.780 回答
1

核实。

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

将此代码放在 applicationDidBecomeActive 方法中。

于 2013-05-15T12:21:53.420 回答
1

您的applicationDidBecomeActive:可以出于多种原因被调用,例如在临时中断(例如来电或 SMS 消息)后进入活动状态,而不仅仅是从后台过渡到前台。我认为您最好将其他人建议的代码放在applicationWillEnterForeground 中:

- (void)applicationWillEnterForeground:(UIApplication *)application
 {
   UINavigationController *navigationController = (UINavigationController *)self.window.rootViewController;
   [navigationController popToRootViewControllerAnimated:NO];
 }
于 2013-05-15T12:36:31.807 回答