【问题标题】:Redirecting to initial view controller重定向到初始视图控制器
【发布时间】:2026-01-24 12:40:01
【问题描述】:

有没有办法从appdelegate 类重定向(推送或执行segue 等)到初始视图控制器又名rootViewController?我正在使用stroryboard 顺便说一句。 任何答案表示赞赏。

UP。我没有使用导航控制器。

【问题讨论】:

标签: ios storyboard appdelegate


【解决方案1】:
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIWindow *window = [[[UIApplication sharedApplication] delegate] window];
window.rootViewController = [storyboard instantiateInitialViewController];

【讨论】:

  • 完美解决方案。找了好久=)
【解决方案2】:

我建议将所有导航堆栈嵌套在UINavigationController 下,然后就像调用popToRootViewControllerAnimated: 方法一样简单。

【讨论】:

  • Tnx。我知道那样,但我需要在不使用导航控制器的情况下找到一些功能:(
【解决方案3】:

UINavigationController popToRootViewController 方法会将您带到那里,如果您使用的是 UINav 控制器。

您可以尝试其他方式:self.window.rootViewController 是一个可能有用的参考。

【讨论】:

  • 所以问题是如何重定向到 self.window.rootViewController =)
【解决方案4】:

使用 Swift 4.2

let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let window: UIWindow? = (UIApplication.shared.delegate?.window)!
window?.rootViewController = mainStoryboard.instantiateInitialViewController()

工作完美……

【讨论】:

    最近更新 更多