Cómo impulsar una nueva vista sin Storyboards Swift

En primer lugar, no quiero usar storyboards en absoluto. Soy capaz de "presentar" el controller de vista de destino, pero no puedo mostrarlo con el button de retroceso estándar de iOS en la parte superior. Mi entendimiento es que puedo hacer que esto funcione presionando al controller en lugar de presentarlo. No recibo ningún error, pero no pasa nada.

En un button, click este código. El código comentado es el que presentó exitosamente ForgotPasswordPage:

// Cambios a la página de contraseña olvidada

func forgotPasswordSwitch(sender: UIButton!) { //let ForgotPassword:ForgotPasswordPage = ForgotPasswordPage() //self.presentViewController(ForgotPassword, animated: true, completion: nil) let ForgotPassword = ForgotPasswordPage() self.navigationController?.pushViewController(ForgotPassword, animated: true) } 

UINavigationcontroller crear manualmente un UINavigationcontroller para get la barra de respaldo. Para hacer esto, puede usar el código de esta respuesta , que logra esto usando este código:

 self.window = UIWindow(frame: UIScreen.mainScreen().bounds) var nav1 = UINavigationController() var mainView = ViewController() //ViewController = Name of your controller nav1.viewControllers = [mainView] self.window!.rootViewController = nav1 self.window?.makeKeyAndVisible() 

Aquí simplemente agregue todos los ViewControllers que desea que estén bajo el controller de navigation en la matriz y luego presione entre ellos.

Espero que eso ayude, Julian

Sé que a veces es mucho mejor desarrollar aplicaciones mediante progtwigción, pero hay mucho time en que Storyboard puede ahorrarle mucho time. Simplemente simplemente lo usa para estas situaciones …

1) En su Storyboard, localice el controller de vista que desea habilitar para empujar

2) Selecciónelo y busque el "Editor" en su barra superior

3) Seleccione Editor-> Incrustar-> Controlador de navigation

Y ahora su controller de vista está listo para empujar