Обмін знаннями за допомогою Swift:
Зміна кореневого контролера подання з класу, відмінного від програми 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
Сподіваюся, це комусь допоможе.
Відредаговано:
Зміна rootviewcontroller за допомогою анімації можна досягти за допомогою:
UIView.transitionWithView(self.window!, duration: 0.5, options: UIViewAnimationOptions.TransitionFlipFromLeft, animations: {
self.window?.rootViewController = anyViewController
}, completion: nil)
Ми можемо написати метод узагальнення, занадто подібний до цього.