2011-02-15 17 views
6

Intento animar la aparición y la desaparición de la vista de dos controladores de vista.¿Hay alguna manera de cambiar el estilo de animación de una apariencia de controlador de vista modal?

I utiliza las siguientes dos líneas de código:

self.modalTransitionStyle=UIModalTransitionStyleCoverVertical; 
[self presentModalViewController:viewcontroller animated:YES]; 

para hacer vista del controlador de vista animar en desde la parte inferior de la pantalla, que funciona bien.

Mi pregunta es: ¿puedo cambiar el estilo de esta animación para que la vista no siempre se deslice desde la parte inferior de la pantalla? ¿Cómo puedo animarlo desde la parte superior de la pantalla, por ejemplo?

+0

'presentModalViewController' está obsoleta desde iOS 6. –

+0

Gracias por su interés en gran parte vieja pregunta. – ajay

Respuesta

14

La propiedad modalTransitionStyle en un controlador de vista establece cómo aparecerá ese controlador de vista, no la animación que utilizará para presentar un controlador diferente. Por lo que haría algo como:

viewcontroller.modalTransitionStyle=UIModalTransitionStyleCoverVertical; 
[self presentModalViewController:viewcontroller animated:YES]; 

(y yo estoy en el hábito de tener los controladores de vista dictar su propio estilo de transición modal en un initWithCoder reemplazado :, pero eso es una cuestión de estilo, supongo).

La lista de estilos de transición disponibles es here. Por lo tanto, para tratar la animación, donde un controlador da la vuelta como una tarjeta de juego, como si el otro se imprimieron en el lado opuesto:

viewcontroller.modalTransitionStyle=UIModalTransitionStyleFlipHorizontal; 
[self presentModalViewController:viewcontroller animated:YES]; 
Cuestiones relacionadas