iOS presentando el controlador de vista animado como 'Push' (animación derecha-izquierda)
Actualmente, tengo un controlador de vista que presenta otro controlador de vista. Lo que intento hacer es recrear la animación predeterminada utilizada al presionar un controlador de vista.
Mi enfoque actual es:
FirstViewController
:
@IBAction private func push(sender: AnyObject) {
let vc = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("SecondViewController")
let transition = CATransition()
transition.duration = 0.5
transition.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut)
transition.type = kCATransitionPush
transition.subtype = kCATransitionFromRight
view.window?.layer.addAnimation(transition, forKey: kCATransition)
presentViewController(vc, animated: false, completion: nil)
}
SecondViewController
:
@IBAction private func pop(sender: AnyObject) {
let transition = CATransition()
transition.duration = 0.5
transition.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut)
transition.type = kCATransitionPush
transition.subtype = kCATransitionFromLeft
view.window?.layer.addAnimation(transition, forKey: kCATransition)
dismissViewControllerAnimated(false, completion: nil)
}
Casi funciona, pero tengo un comportamiento extraño, tengo una especie de pantalla / flash negro cuando hago la transición entre los controladores de vista. Ya intenté cambiarwindow.backgroundColor
pero no está solucionando el problema.
Gracias de antemano 0_0 ...