我正在做一个Objective-C应用程序,它有几个独立的ViewControllers。 我想在用户脉冲主页按钮和应用程序进入后台模式时显示我的主ViewController。 我发现的所有解决方案都适用于导航控制器。 在这种情况下,如何启动(以及在哪里)ViewController?
谢谢
解决: 最后我在AppDelegate中解决了这个问题:
- (void)applicationWillEnterForeground:(UIApplication *)application
{
// Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
ViewController *viewController=[[UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil] instantiateViewControllerWithIdentifier:@"ViewController"];
self.window.rootViewController = viewController;
}
答案 0 :(得分:1)
您应该在主视图控制器中注册UIApplicationDidEnterBackgroundNotification
。发布通知时,您应该将导航堆栈弹出到主视图控制器。
[self.navigationController popToRootViewControllerAnimated:YES];
或者,如果这不是根视图控制器,则应使用:
[self.navigationController popToViewController:self animated:YES];