在swift 3.0中呈现和推送viewcontrollers

时间:2016-09-25 10:10:10

标签: ios swift uiviewcontroller swift3

我在故事板上工作,还以编程方式做一些事情。首先,我以编程方式创建了一个viewController controller,它是登录页面(第一个视图)。但在故事板中,我有NavigationController,其根目录是ViewController。一切(方法forgotPasswordloginDidFinish)都运行良好,只是在启动应用后立即ViewController之前查看了controller

所以我已将NavigationController的根目录更改为controller,之后我的功能无效。我已经尝试了几个例子,比如在故事板中删除navcontrol等。你可以在这里看到我的项目:https://github.com/ardulat/SPE

1 个答案:

答案 0 :(得分:0)

我将为您提供一个Login方案的基本示例,希望它可以帮助您解决问题,我首先要做的是设置ViewControllers之间的导航,如下所示:

我的项目中有两个视图控制器( LoginViewController.swift MainViewController.swift ):

enter image description here

所以在我的故事板中,我创建了两个ViewControllers,第一个嵌入了NavigationController,然后我从第一个ViewController到第二个ViewController设置了一个segue:

enter image description here

然后我给我创建的segue命名如下:

enter image description here

为了从登录导航到主要 ViewController,我在 loginButtonTapped 中调用 performSegue 方法触摸登录按钮时触发的操作。

LoginViewController.swift:

class LoginViewController: UIViewController {

  override func viewDidLoad() {
    super.viewDidLoad()
  }

  @IBAction func loginButtonTapped(_ sender: AnyObject) {
    // TODO: validate your login form

    performSegue(withIdentifier: "LoginToMain", sender: nil)
  }


}