What you can do is to create the Views stack programmatically by AppDelegate.
I've never tried to dynamically create the entire stack, just changed the already
existing. I can not test at the moment, so I can not guarantee that it will
work, but it's a path.
Follow the implementation:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let tela_1 = storyboard.instantiateViewControllerWithIdentifier("tela_1") as! UIViewController
let tela_1 = storyboard.instantiateViewControllerWithIdentifier("tela_2") as! UIViewController
let tela_3 = storyboard.instantiateViewControllerWithIdentifier("tela_3") as! UIViewController
let tela_4 = storyboard.instantiateViewControllerWithIdentifier("tela_4") as! UIViewController
let tela_5 = storyboard.instantiateViewControllerWithIdentifier("tela_5") as! UIViewController
let navigationController = storyboard.instantiateInitialViewController() as UINavigationController
navigationController.viewControllers = [tela_1, tela_2, tela_3, tela_4, tela_5]
self.window?.rootViewController = tela_4
self.window?.makeKeyAndVisible()
return true
}
Note: Do not forget to change "screen_N" by the name of your actual classes.