在我的iOS应用中,我最初从使用导航控制器的Login视图控制器开始。
当用户成功登录后,我将根视图控制器更改为将其带到主菜单屏幕,并在其中使用SWRevealViewController操作滑出菜单。
我遇到的问题是,当用户单击注销时,它们将被带回到LoginVC,但是当他们在登录过程中移动时,我最终将ViewController叠加在一起。
Welcome VC can be seen behind Login VC
我尝试搜索类似的问题,并尝试确保在注销PresentingViewControllers和NavigationController时都关闭了所有其他视图控制器。
成功登录后,我将使用此代码切换rootview控制器。
// Present the main view
let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let viewController = mainStoryboard.instantiateViewController(withIdentifier: "reveal")
UIApplication.shared.keyWindow?.rootViewController = viewController
self.dismiss(animated: true, completion: nil)
当用户单击以注销时,我使用此代码切换回登录部分。
// Switch to WelcomeView VC on logout
self.view.window?.rootViewController?.dismiss(animated: true, completion: nil)
let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let viewController = mainStoryboard.instantiateViewController(withIdentifier: "WelcomeView")
UIApplication.shared.keyWindow?.rootViewController = viewController
dismiss(animated: true, completion: nil)
我希望可以重新使用Welcome VC,并且能够再次完成登录过程。就是这种情况,但是,仍然可以在Login VC后面看到“欢迎”屏幕。
任何建议将不胜感激!