如何在没有故事板的情况下推出新视图 Swift

How to Push a New View Without Storyboards Swift

首先,我根本不想使用故事板。我能够 "present" 目标视图控制器,但我无法使用顶部的标准 iOS 后退按钮显示它。我的理解是我可以通过推动控制器而不是呈现它来让它工作。我没有收到任何错误,但什么也没发生。

在按钮上单击此代码是 运行。注释代码是成功呈现 ForgotPasswordPage 的代码:

// 更改忘记密码页面

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 才能获得后台栏。为此,您可以使用 中的代码,它通过以下代码实现:

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()

这里只需将您希望在导航控制器下的所有 ViewControllers 添加到数组中,然后在它们之间推送。

希望对你有所帮助,朱利安

我知道有时候以编程方式开发应用程序要好得多,但在很多时候 Storyboard 可以为您节省很多时间。您只需在这种情况下使用它...

1) 在 Storyboard 中,本地化要启用推送的视图控制器

2) Select 它并在您的顶部栏中找到 "Editor"

3) Select 编辑器->嵌入->导航控制器

现在您的视图控制器已准备好推送