iOS 7 cuando gira la vista en la barra de tabs, el lado derecho de la vista no se puede hacer clic

Tengo una aplicación muy simple que consiste en una sola vista. Todo funciona bien, la aplicación gira y se pueden hacer clic en los botones del lado derecho de la pantalla. Estoy usando iOS 7 y Xcode 5.

Si entro en el guión gráfico y selecciono la vista, haz el Editor> Incrustar> Controlador de barra de tabs, ahora cuando la aplicación gira de vertical a horizontal, el lado derecho de la aplicación no se puede hacer clic. Parece que hay exactamente 768 píxeles desde la izquierda donde deja de funcionar, por lo que me hace pensar que hay algo en la aplicación que no gira. ¿Qué podría estar mal?

Es solo una aplicación básica de asistente de vista única que pongo algunos elementos de interfaz de usuario para probar. Lo único que hace que deje de funcionar se incrusta en la barra de tabs.

Aquí está el proyecto completo: https://github.com/tomkincaid/rotate

Actualización: originalmente había utilizado el mismo storyboard de iPhone para iPhone y iPad y pensé que este podría ser el problema. Sin embargo, he creado un nuevo storyboard de iPad y tiene el mismo problema.

Otra actualización: si pongo la vista dentro de un controller de navigation, funciona. Así que vista funciona y pestaña> Nav> vista funciona, pero pestaña> vista no funciona.

introduzca la descripción de la imagen aquí

Yo tuve el mismo problema. Al colocar el siguiente código en mi vista, viewDidLoad del controller lo solucionó:

self.view.autoresizesSubviews = YES; self.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; 

Simplemente coloque el siguiente código en la class TabBarViewController.

 - (void)viewDidLayoutSubviews { // fix for iOS7 bug in UITabBarController self.selectedViewController.view.superview.frame = self.view.bounds; } 

Para elaborar esta respuesta , puede lograr el mismo resultado editando el código fuente del guión gráfico.

Reemplazando

 <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> 

con

 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> 

para la vista del controller de vista que causa los problemas.

En la list de controlleres de vista en el lado izquierdo, desplácese hasta los controlleres de visualización / vista afectados, arrastre la vista hasta debajo de la primera respuesta para que esté desasociada a la vista del controller de vista.

Luego vaya a la pestaña de layout en el lado derecho, select los 4 anclajes y los dos sets de flechas de tamaño (horizontal + vertical).

Luego, arrastre la vista hacia donde originalmente estaba (justo debajo del controller de vista).

También estaba enfrentando el mismo problema y lo resolví agregando el código siguiente dentro del método didFinishLaunchingWithOptions del delegado de la aplicación.

 self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 

La window es el object del file .xib de la interfaz principal.