首页 > 解决方案 > 如何在没有 segues 的情况下转到另一个视图控制器 [SWIFT 5]

问题描述

我想从注册中执行到另一个视图控制器,但是当我这样做时,侧边栏消失了。有什么帮助吗?

@IBAction func signUpPressed(_ sender: UIButton) {
        
        if let email = emailTextField.text, let parola = parolaTextField.text{
      
            Auth.auth().createUser(withEmail: email, password: parola) { (authResult, eroare) in
                
                if let e = eroare {
                    print(e.localizedDescription)
                }
                else
                {
                    self.transitionToHome()
                }
            }
        }
        
    }
    func transitionToHome() {
        
        let homeViewController = storyboard?.instantiateViewController(identifier: Constants.Storyboard.homeViewController) as? HomeViewController
        
        view.window?.rootViewController = homeViewController
        view.window?.makeKeyAndVisible()
        
    }

[视图控制器] [1]:https ://i.stack.imgur.com/C6tsh.png

标签: iosswift

解决方案


transitionToHome() 是自己创建视图控制器的一个实例,这就是左侧导航导航消失的原因。

如果您希望能够保持导航,那么您必须创建一个UINavigationController带有嵌入式根视图控制器的HomeViewController

let homeNavigationController = UINavigationController(rootViewController: homeViewController)
view.window?.rootViewController = homeNavigationController
view.window?.makeKeyAndVisible()

推荐阅读