iphone interface-builder autoresizingmask

iphone - Configuración de problemas de tamaño automático en el generador de interfaces



interface-builder autoresizingmask (3)

Tengo dos viewControllers, uno es una subclase de UIViewController (tamaño correcto), el otro es una subclase de una subclase de UIViewController.
Hice un diseño en Interface Builder, probé mi código en el simulador y todo funciona como se esperaba. Pero si giro el dispositivo, mis vistas no cambian de tamaño.
Así que volví a Interface Builder y descubrí que no puedo cambiar la propiedad de cambio de tamaño de la vista "raíz". Así que abrí otro archivo y la propiedad de cambio de tamaño se fija allí, también. Pero está configurado para cambiar el tamaño en ambas direcciones. Este es el comportamiento que quiero.

¿Cómo puedo cambiar la configuración automática de la vista superior para que haga lo que quiero?
No hay tantas subvistas que sea imposible volver a empezar desde cero, pero no quiero hacer esto.


Abra Main.storyboard como fuente (no lo olvide, es solo un archivo XML) y reemplace la etiqueta "autoresizingMask" en la Vista con la siguiente línea:

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


Me encontré con esto antes y fue increíblemente frustrante. Resulta que cuando tienes activados los elementos de la interfaz de usuario simulada, no puedes cambiar los puntales y los resortes como quieras.

Vaya a la pestaña Atributos (Cmd-1) y asegúrese de que la barra de estado, la barra superior, la barra inferior y la vista dividida estén configuradas como "Sin especificar". Luego regresa a la pestaña Tamaño (Cmd-3) y podrás hacer clic en las líneas y cambiar tus puntales y resortes. Luego, finalmente, puede volver a Cmd-1 y volver a activar esos elementos simulados.


Tengo una respuesta simplificada:

  1. Goto IB
  2. Haga clic en el ''ViewController''
  3. Ir a ''inspector de atributos''
  4. Cambie ''Tamaño'' a ''Forma libre'' (algo que no sea ''Inferido'')

Lo que tienes es esto:

¡Cambie ''tamaño'' a ''forma libre'' y pruebe ahora!

¡Ahora funciona! Vuelva y cámbielo a ''Inferido'' después de haber configurado las máscaras de Autoresizing.