Обмена знаний Использования 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 С Animation можно достичь с помощью:
UIView.transitionWithView(self.window!, duration: 0.5, options: UIViewAnimationOptions.TransitionFlipFromLeft, animations: {
self.window?.rootViewController = anyViewController
}, completion: nil)
Мы можем написать обобщать метод слишком похож на this.
Один подход, который я только что обнаружил это: [navigationController setViewControllers: [ NSArray arrayWithObject: (указатель на контроллер просмотра, который должен быть контроллером корневого представления)]]; это лучший способ? Я предполагаю, что вы должны называть это только в файле AppDelegate по методу делегирования didFinishLaunching, так как это кажется рискованным возиться с массивом контроллера представления UINavigationController после этого – drc