Pregunta

Tengo una aplicación que gira en algunas (pero no en todas) las pantallas, y también quiero agregar una UIView como una superposición que aparece en todas las pantallas, así que pensé en agregarla a la ventana. El problema ahora es que cuando giro el dispositivo, las pantallas giran, pero la vista de superposición no lo hace.

También intenté usar dos UIViewControllers, uno para las cosas normales, otro para la vista de superposición, pero no tenía muchas esperanzas para eso, y tenía razón. Solo un UIViewController rotará realmente.

Entonces, ¿cómo giro la superposición con la interfaz, con suerte sin necesidad de agregar código a cada controlador de vista que gira para rotar la superposición con ella?

¿Fue útil?

Solución

Creo que tus sospechas son correctas. Deberá agregar la subvista a cada controlador de vista. No sé por qué, pero cuando agrega varias vistas como subvistas de la ventana, solo la primera obtiene su - (BOOL) shouldAutorotateToInterfaceOrientation: (UIInterfaceOrientation) interfaceOrientation invocada en cada cambio de orientación.

No lo he intentado, pero parece que podría crear un controlador de vista principal único que agregue como una subvista de la ventana que contendrá su controlador de navegación, así como su controlador de vista superpuesto. Tal vez llamaría correctamente -shouldAutotrotateToInterfaceOrientation. Nuevamente, esto es hipotético ya que no lo he probado, pero estoy seguro de que no funcionará solo para agregar la vista de superposición a la ventana.

Saludos cordiales,

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