2010-05-03 12 views
12

Tengo un controlador de vista modal que se muestra con UIModalPresentationFullScreen con TransitionStyle configurado como UIModalTransitionStylePartialCurl. Esto funciona maravillosamente.UIModalTransitionStylePartialCurl no gira

Mi problema es que cuando se gira el dispositivo, mi vista gira (como estaba previsto), pero el efecto "curl" no. ¿Alguien sabe si esto es por diseño, o hay algo más que deba hacerse? Gracias.

Respuesta

3

En mi experiencia, el estilo UIModalTransitionStylePartialCurl pone a ambos controladores de vista involucrados en un estado de semi limbo donde no cumplen con las reglas normales. Otro ejemplo de esto es que la presentación modal curl parcial no parece respetar la visión modal de la vista jerárquica, lo que significa que cuando se apilan vistas modales, si se muestra un modal más arriba en la pila debería tomar el control, sin embargo el parcial curl bloquea esto.

p. Ej. las vistas que muestran modalmente otras vistas: ver 1 -> ver 2 -> ver 3 indicar vista 1 mostrar modalmente ver 4 ver 1 -> ver 4 Si la vista 3 se muestra como curvatura parcial, no pasará nada cuando solicite la pantalla de vista 4.

Además, no puede mostrar otras vistas de manera modal bajo un curvatura parcial (la documentación oficial indica esto, lo que inherentemente significa que no se comporta como una pantalla modal normal) por ej. vista 1 -> 2 vista (rizo parcial) tell vista 2 a vista de la pantalla de forma modal 3 no pasa nada

OMI Apple no ha horneado plenamente el estilo UIModalTransitionStylePartialCurl cual es una pena porque es fantástico. Para resumir, espere problemas al usarlo, ya que no se comporta como se espera cuando se le pide que haga algo más que simplemente voltear hacia arriba y hacia abajo.

0

Compruebe si su ViewController que está presentando debe shouldAutorotateToInterfaceOrientation: implementado y devuelve el valor deseado.

+0

Sí lo hace, la vista gira bien. es el efecto rizo que no gira. – Mongo

+1

Ahora lo entiendo. La vista principal curvada mantiene la misma orientación que antes y solo la vista modal gira a medida que el dispositivo cambia de orientación. Creo que tendrías que rotar la vista padre 'manualmente' ya que no está actualmente activa. – chaos0815

2

Cuando me encontré con este problema, decidí que estaba bien que la vista presentada de forma modal se elimine automáticamente en deviceDidRotateSelector para evitar el problema.

+0

Esta es en realidad una buena solución también. Gracias por compartir. – Mongo

Cuestiones relacionadas