Tamaño de fotogtwig / ventana “incorrecto” después de la reorientación en iPhone

En mi aplicación de iPhone OS, quiero (necesito) mirar los cambios en la orientación del dispositivo para reorganizar ciertas partes de la pantalla. El enfoque que utilicé fue usar CGRect frame = [UIScreen mainScreen].applicationFrame para obtener el tamaño de la pantalla, y desde allí calcular el tamaño y / o posicionamiento de otros controles (también probé self.view.frame ).

Todas las pruebas se realizaron hasta el momento en el modo vertical, por lo que pude centrarme en progtwigr las funciones principales y luego hacer algunos ajustes para Landscape. Y aquí ingresa el problema: In -(void) didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation algunos registros para verificar los tamaños antes de continuar, pero aparentemente los valores de Ancho y Alto son “incorrectos” (digo “incorrecto” porque al principio vistazo a los valores no tiene sentido para mí).

Aquí está el resultado de algunos registros:

  • Rotación: Horizontal [w = 300.000000, h = 480.000000]
  • Rotación: Retrato [w = 320.000000, h = 460.000000]

Los valores para “w” y “h” en Landscape parecen invertidos para mí, esperaba w = 480 yh = 300.

¿Qué estoy haciendo mal? El código que utilicé para depurar está debajo.

 -(void) didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation { CGRect frame = [UIScreen mainScreen].applicationFrame; CGSize size = frame.size; NSLog(@"%@", [NSString stringWithFormat:@"Rotation: %s [w=%f, h=%f]", UIInterfaceOrientationIsPortrait(self.interfaceOrientation) ? "Portrait" : "Landscape", size.width, size.height]); }