【发布时间】:2019-06-05 09:49:12
【问题描述】:
在我的应用程序中,我从登录流程开始,登录完成后,它将导航到仪表板。我正在尝试重置导航堆栈,以便当我在仪表板中时,我不会返回登录屏幕。我也许可以通过在仪表板中隐藏后退按钮来实现这一点,但我相信重置堆栈是一种更合适的方式,但我该怎么做呢?
【问题讨论】:
标签: ios swift navigation uinavigationcontroller
在我的应用程序中,我从登录流程开始,登录完成后,它将导航到仪表板。我正在尝试重置导航堆栈,以便当我在仪表板中时,我不会返回登录屏幕。我也许可以通过在仪表板中隐藏后退按钮来实现这一点,但我相信重置堆栈是一种更合适的方式,但我该怎么做呢?
【问题讨论】:
标签: ios swift navigation uinavigationcontroller
将根视图控制器更改为新的 UINavigationController。
如果您必须检查用户是否已经登录,请在找到登录会话后在 AppDelegate 中执行此操作:
self.window?.rootViewController = UINavigationController(rootViewController: dashboardVC)
如果您想在登录成功后导航到仪表板:
let appDelegate = UIApplication.shared.delegate as! AppDelegate
appDelegate.window?.rootViewController = UINavigationController(rootViewController: dashboardVC)
此代码从一个新的导航堆栈启动您的 viewController,其中 DashboardViewController 是堆栈的根 viewController。
【讨论】: