You can create a new UIViewController which contains a container view in the Storyboard, and assign the train network map view controller to the container view.
Then in the code you can instantiate the map view controller from the storyboard:
self.mapViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"MapViewController"];
Read up more on container view to understand on the following lines, assuming networkMapViewController is the initial view controller that you want to flip into mapViewController:
[self.networkMapViewConroller willMoveToParentViewController:nil];
[self addChildViewController:self.mapViewController];
[self.mapViewController didMoveToParentViewController];
Then you can make use of view controller method transitionFromViewController:toViewController:duration:options:animations:completion:
[self transitionFromViewController:self.networkMapViewController
toViewController:self.mapViewController
duration:.5
options:UIViewAnimationOptionCurveEaseInOut|UIViewAnimationOptionTransitionFlipFromRight
animations:nil
completion:^(BOOL finished) {
[self.networkMapViewController removeFromParentViewController];
}];
You will need to code similar lines for change back from map view controller to networkMapViewController.