Respuesta histórica solamente. Espectacularmente desactualizado:
Tenga en cuenta que esta respuesta está muy desactualizada.
Este mensaje es solamente una curiosidad histórica.
¡Buenas noticias! Como descubrió Andrew a continuación, este problema ha sido resuelto por Apple en 4.0+.
Parece que ya no es necesario forzar el tamaño de la vista en cada vista, y se ha resuelto el grave problema específico del paisaje "que solo funciona la primera vez".
A partir de abril de 2011, no es posible probar o incluso construir nada por debajo de 4.0, por lo que la pregunta es puramente una curiosidad histórica. ¡Es increíble cuántos problemas causó a los desarrolladores durante tanto tiempo!
Aquí está la discusión original y la solución. Esto es totalmente irrelevante ahora, ya que estos sistemas ni siquiera son operables.
es extremadamente difícil de hacer este trabajo totalmente - hay por lo menos tres problemas/errores en el juego.
probar este .. interface builder landscape design
nota en particular de que donde dice "y hay que utilizar shouldAutorotateToInterfaceOrientation adecuadamente en todas partes" que significa en todas partes, todos sus puntos de vista a pantalla completa.
Espero que ayude en esta pesadilla!
un recordatorio importante de la ADICIONAL conocido problema que nos ocupa aquí: si usted está tratando de cambiar entre MÁS DE UN vista (todo el paisaje), TI simplemente no funciona. Es esencial recordar esto o perderá días en el problema. Literalmente NO ES POSIBLE. Es el error abierto, conocido y más grande en la plataforma de iOS. Literalmente, no hay forma de que el hardware haga que la segunda vista que cargue sea horizontal. La solución molesta pero simple, y lo que debe hacer, es tener un UIViewController maestro trivial que no haga nada más que sentarse allí y le permita intercambiar sus puntos de vista.
En otras palabras, en iOS debido a un fallo importante saber:
[window addSubview:happyThing.view];
[window makeKeyAndVisible];
Usted puede hacer que sólo una vez. Más tarde, si intenta eliminar happyThing.view, y en su lugar pone newThing.view, NO FUNCIONA, Y ES DE ESO.La máquina nunca girará la vista hacia el paisaje. No hay ningún truco, incluso Apple no puede hacer que funcione. La solución que debe adoptar es tener un UIViewController general que simplemente se encuentre allí y solo contenga sus diversas vistas (happyThing, newThing, etc.). ¡Espero eso ayude!
Para futuros lectores, tenga en cuenta que este famoso problema ** ahora es SOLUCIONADO por Apple ** a partir de 2011. Observe el proyecto de prueba en la respuesta a continuación. – Fattie