This was actually pretty simple, and has nothing to do with segues.
I was expecting a rootViewController
property on UINavigationController
objects while overlooking the @property UIViewController* topViewController
.
So in my top (visible) navigation controller's viewWillAppear
:
// Load the map's navigation controller from storyboard
MyMapNavigationController* mapNavigation = [self.storyboard instantiateViewControllerWithIdentifier:mapNavigtionIdentifier];
// ECSlidingViewController API to set hidden view controllers
self.slidingViewController.underRightViewController = mapNavigation;
// Grab root view controller
MyMapController* map = mapNavigation.topViewController;
// Slightly hacky magic
[map view]; //lazily instantiated property will initialize view and controller when called.