【发布时间】:2026-01-24 12:40:01
【问题描述】:
有没有办法从appdelegate 类重定向(推送或执行segue 等)到初始视图控制器又名rootViewController?我正在使用stroryboard 顺便说一句。
任何答案表示赞赏。
UP。我没有使用导航控制器。
【问题讨论】:
-
你在使用 UINavigationController 吗?
标签: ios storyboard appdelegate
有没有办法从appdelegate 类重定向(推送或执行segue 等)到初始视图控制器又名rootViewController?我正在使用stroryboard 顺便说一句。
任何答案表示赞赏。
UP。我没有使用导航控制器。
【问题讨论】:
标签: ios storyboard appdelegate
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIWindow *window = [[[UIApplication sharedApplication] delegate] window];
window.rootViewController = [storyboard instantiateInitialViewController];
【讨论】:
我建议将所有导航堆栈嵌套在UINavigationController 下,然后就像调用popToRootViewControllerAnimated: 方法一样简单。
【讨论】:
UINavigationController popToRootViewController 方法会将您带到那里,如果您使用的是 UINav 控制器。
您可以尝试其他方式:self.window.rootViewController 是一个可能有用的参考。
【讨论】:
使用 Swift 4.2
let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let window: UIWindow? = (UIApplication.shared.delegate?.window)!
window?.rootViewController = mainStoryboard.instantiateInitialViewController()
工作完美……
【讨论】: