ios uiview autoresizingmask

ios - ¿Cuál es el propósito del AutentificaciónMask de UIView?



autoresizingmask (2)

Después de leer sobre el UIView de autoresizingMask on SO y developer.apple.com de autoresizingMask aún no tengo claro cuál es el propósito. ¿Cuál es una situación en la que es necesario establecer esta propiedad?


El objetivo es que UIView modifique y cambie el tamaño de forma adecuada cuando se modifiquen las vistas debido al cambio de tamaño, cambio de orientación, controles de edición en las celdas de tablas, etc.


Sí, a menudo es necesario configurarlo si no desea cambiar el tamaño de las vistas manualmente. Tenga en cuenta que es principalmente útil para las subvistas (es decir, aquellas vistas que no ocupan toda la pantalla) en lugar de la vista principal de su aplicación.

Por lo general, las vistas pueden necesitar un cambio de tamaño si:

  • el dispositivo está girado
  • se agrega una vista adicional (por ejemplo, un anuncio) a la vista, por lo que las subvistas existentes tienen menos espacio disponible.

Por ejemplo, supongamos que tiene una vista con dos botones, uno en la esquina superior izquierda y otro en la esquina superior derecha. Para que los botones se ensanchen cuando la vista pasa de vertical a horizontal, debe establecer FlexibleLeftMargin en el botón derecho, FlexibleRightMargin en el botón izquierdo.

Editar: Aumenta el tamaño de Mask también es lo primero que debe observar si ve agujeros extraños o superposiciones cuando se gira el dispositivo o se agrega una nueva subvista. Con bastante frecuencia, la configuración adecuada de estas máscaras para las subvistas puede ofrecerle una vista agradable en ambas orientaciones sin tener que diseñar subvistas manualmente, pero por lo general requiere algo de experimentación.

Edit2: (ya que esto todavía está recolectando votos ascendentes) Las máscaras de Autoresizing ahora se reemplazan en su mayoría con "Diseño automático", que permite restricciones mucho más flexibles en los tamaños y posiciones de las vistas. Dicho esto, traduceAutonosizingMaskIntoConstraints todavía es útil en ocasiones para vistas añadidas dinámicamente.