Search code examples
iosswiftuinavigationcontrolleruikitviewcontroller

How to Navigate from one View Controller to another using Swift


I'd like to navigate from one view controller to another. How can I convert the following Objective-C code into Swift?

UIViewController *viewController = [[self storyboard] instantiateViewControllerWithIdentifier:@"Identifier"];
UINavigationController *navi = [[UINavigationController alloc] initWithRootViewController:viewController];
[self.navigationController pushViewController:navi animated:YES];

Solution

  • Create a swift file (SecondViewController.swift) for the second view controller and in the appropriate function type this:

    let secondViewController = self.storyboard.instantiateViewControllerWithIdentifier("SecondViewController") as SecondViewController
    self.navigationController.pushViewController(secondViewController, animated: true)
    


    Swift 2+

    let mapViewControllerObj = self.storyboard?.instantiateViewControllerWithIdentifier("MapViewControllerIdentifier") as? MapViewController
    self.navigationController?.pushViewController(mapViewControllerObj!, animated: true)
    

    Swift 4

    let vc = UIStoryboard.init(name: "Main", bundle: Bundle.main).instantiateViewController(withIdentifier: "IKDetailVC") as? IKDetailVC
    self.navigationController?.pushViewController(vc!, animated: true)