在我的应用程序的didFinishLaunchingWithOptions
中,代码是
_homeViewController = [[HomeViewController alloc]init];
UINavigationController* _navigationController = [[UINavigationController alloc] initWithRootViewController:_homeViewController];
[self.window setRootViewController:_navigationController];
[_navigationController setNavigationBarHidden:YES];
[self.window makeKeyAndVisible];
并且在HomeViewController
中,我有两个按钮,如果按下按钮,我将呈现ViewController。如果按下button1,则代码为
if (_detailsViewController == nil)
_detailsViewController = [[DetailsViewController alloc]init];
[self.navigationController presentModalViewController:_detailsViewController animated:YES];
现在,当我在detailsViewController中并按下iPhone Home按钮时,在同一个类中我使用UIApplicationDidEnterBackgroundNotification
并调用方法来执行以下行
[self.navigationController popToRootViewControllerAnimated:YES];
所以我想当我再次打开应用程序时,我可以看到HomeViewController,但它不起作用。请帮帮我!!
答案 0 :(得分:0)
当您进入背景时,保存一条状态信息,当您重新进入前景时,检查该信息,如果设置了标志,则在没有动画的情况下进行弹出。
答案 1 :(得分:0)
似乎我无法弹出到根视图的原因是,我在其间展示ViewController,如果ViewController随导航控制器一起出现,即如果ViewController被推送为导航控制器那么我可以弹出到根视图控制器