Wissensaustausch mit Swift:
Ändern des Root-View-Controllers von einer anderen Klasse als app delegate.swift
let appdelegate = UIApplication.sharedApplication().delegate as! AppDelegate
let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
var homeViewController = mainStoryboard.instantiateViewControllerWithIdentifier("HomeViewController") as! HomeViewController
let nav = UINavigationController(rootViewController: homeViewController)
appdelegate.window!.rootViewController = nav
Hoffe das wird jemandem helfen.
Bearbeitet:
Das Ändern des Rootviewcontrollers mit Animation kann erreicht werden mit:
UIView.transitionWithView(self.window!, duration: 0.5, options: UIViewAnimationOptions.TransitionFlipFromLeft, animations: {
self.window?.rootViewController = anyViewController
}, completion: nil)
Wir können eine ähnliche Verallgemeinerungsmethode schreiben .