translatesautoresizingmaskintoconstraints ios objective-c uiviewcontroller uiimageview constraints

ios - translatesautoresizingmaskintoconstraints - swift constraints programmatically



Usar UIImageView junto con restricciones (2)

Tengo un UIImageView que contiene una imagen de perfil en mi aplicación. El aspecto es "Ajuste de aspecto". Pero tengo algunos problemas.

He anclado un comentario desde el UIImageView al UImageView más grande anterior y con el espacio principal para superView.

pero se ve así en tiempo de ejecución:

Demasiado grande y colocado incorrectamente.

También se ve así en IB:

¿Qué debería hacer para lograr el comportamiento correcto aquí?

¡Gracias! Erik


Su vista de imagen se está cambiando de tamaño según la imagen que configuró para mostrar.

Este comportamiento es muy útil en (por ejemplo) vistas de texto donde desea que una vista crezca para mostrar todo el texto. A veces es menos útil en las vistas de imágenes que son parte de una IU estática.

Una solución es agregar restricciones a la vista para mantener el tamaño establecido: arrastre desde la vista a sí mismo y luego agregue una restricción de ancho del mismo modo que lo haría con cualquier otra restricción, luego agregue una restricción de altura vertical o una restricción de relación de aspecto.

Otra solución es proporcionar activos de tamaño correcto para que la vista se autosice a las dimensiones correctas.


Todo es debido al tamaño del contenido intrínseco. Al igual que UILabel y UIButton se redimensiona en función de su contenido, el UIImageView también se redimensiona en función del tamaño de la imagen que va a contener.

El tamaño de contenido intrínseco es realmente bueno para etiquetas y botones, pero no tan bueno cuando se trata de UIImageView. Debido a que la imagen que va a establecer en el UIImageView en realidad puede ser más grande que el tamaño de la pantalla y no queremos que nuestra vista de la imagen sea tan grande como la imagen en sí.

De modo que una solución simple para esto es establecer las Restricciones de ancho y alto o la restricción de relación de aspecto en la vista de la imagen para que el tamaño de la vista de la imagen sea constante.

HTH :)