我知道如果我的项目中有navigationController,我可以使用popToRootViewController,但我的整个项目都是基于presentViewControllers,并且我有一个导航到多个级别的场景。如果只有一个级别,我可以通过关闭当前视图控制器返回到根视图控制器,但是当我达到多个级别时,我无法弄清楚如何导航回根视图控制器。有人可以在这里建议我吗?
我尝试使用以下代码,但我的应用程序崩溃了!
- (IBAction)mainMenuButtonPressed:(id)sender {
MyAppDelegate *delegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];
[self presentModalViewController:delegate.window.rootViewController animated:YES];
}
感谢。
答案 0 :(得分:4)
如果我理解你,那么你将呈现几个模态视图控制器,并希望返回到根视图控制器。如果这是正确的,那么以下代码应该适合您:
- (IBAction)mainMenuButtonPressed:(id)sender {
MyAppDelegate *delegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];
[delegate.window.rootViewController dismissModalViewControllerAnimated:YES];
}
答案 1 :(得分:0)
Swift版本
var = APP_DELEGATE = UIApplication.sharedApplication().delegate as! AppDelegate
APP_DELEGATE.window?.rootViewController?.dismissViewControllerAnimated(true, completion: nil)
Swift3
let APP_DELEGATE = UIApplication.shared.delegate as! AppDelegate
APP_DELEGATE.window?.rootViewController?.dismiss(animated: true, completion: nil)