Pregunta

I puedo "enroscarse" un controlador de vista con este código:

[UIView beginAnimations:@"animation" context:nil];
[self.navigationController pushViewController:page animated:NO];
[UIView setAnimationDuration:1];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.navigationController.view cache:NO]; 
[UIView commitAnimations];

pero no puede curvarse hacia abajo la última página de esta manera:

[UIView beginAnimations:@"animation" context:nil];
[self.navigationController popViewControllerAnimated:NO];
[UIView setAnimationDuration:1];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:self.navigationController.view cache:NO]; 
[UIView commitAnimations];

alguna idea de por qué no? Yo realmente quiero "revertir" la animación (como si una etiqueta se ha pelado para mostrar el 'controlador de vista push'ed y la espalda pegada cuando hacen clic en un botón).

Gracias

¿Fue útil?

Solución

Ok, mi viejo respuesta fue totalmente equivocado ... el problema es que se están haciendo estallar el controlador de vista antes de la vista de transición. Si cambia el código para esto:

[UIView beginAnimations:@"animation" context:nil];
[UIView setAnimationDuration:1];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:self.navigationController.view cache:NO]; 
[self.navigationController popViewControllerAnimated:NO];
[UIView commitAnimations];

funciona bien

Otros consejos

El uso de OpenGL o una gran cantidad de procesos complejos CoreAnimation, estoy seguro de que podría, pero, sería un montón de problemas para hacer algo así. Algo que podría ayudarle a lo largo: Un libro sencillo girando aplicación escrita en su totalidad con CoreAnimation

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top