Пользовательские анимации при смене RootViewcontroller
На самом первом запуске моего приложения я хочу показать специальный контроллер представления сказать firstLaunchVC
и для этого я делаю это
в моем didFinishLaunchingWithOptions
if (itsFirstLaunch){
self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
var initialViewController: UIViewController
initialViewController = mainStoryboard.instantiateViewControllerWithIdentifier("SignupViewController") as! SignupViewController
self.window?.rootViewController = initialViewController
self.window?.makeKeyAndVisible()
}
он работает нормально, но теперь, после завершения регистрации, я хочу изменить мой RootView Controller на мой View Controller по умолчанию сказать DefaultVC
appDelegate.window = UIWindow(frame: UIScreen.mainScreen().bounds)
let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
var initialViewController: UIViewController
initialViewController = mainStoryboard.instantiateViewControllerWithIdentifier("DefaultVC") as! UITabBarController
UIView.transitionWithView(self.appDelegate.window!, duration: 0.3, options: .TransitionFlipFromBottom, animations: {() -> Void in
self.appDelegate.window?.rootViewController = initialViewController
self.appDelegate.window?.makeKeyAndVisible()
}, completion: { _ in }
)
он работает нормально, и вы также можете видеть, что я добавил анимацию в этом переходе
UIView.transitionWithView(self.appDelegate.window!, duration: 0.3, options: .TransitionFlipFromBottom, animations: {()....
но эта анимация не достаточно хороша, и здесь у нас есть много вариантов, таких как:
TransitionFlipFromLeft
TransitionFlipFromRight
TransitionCurlUp
TransitionCurlDown
TransitionCrossDissolve
TransitionFlipFromTop
TransitionFlipFromBottom etc...
но ни одно из них не отвечает моим требованиям (они абсолютно отвратительны). Мне нужна анимация, когда закрывается View Controller. Я хочу выдвинуть виртуальный канал из кадра в направлении, если кто-нибудь может подсказать мне, как это сделать. будет так полезно для меня