¿Cuál es la resistencia a la compresión de contenido y el abrazo de contenido de un UIView?


¿Cuál es la resistencia a la compresión de contenido y el abrazo de contenido de un UIView? ¿Cómo se relacionan con el tamaño intrínseco del contenido de una vista?

Author: smileyborg, 2014-03-24

1 answers

Tomado de objc.io excelente Artículo avanzado de la Caja de herramientas de Diseño automático :

Tamaño del Contenido intrínseco

El tamaño de contenido intrínseco es el tamaño que una vista prefiere tener para un contenido específico que muestra. Por ejemplo, UILabel tiene una altura preferida basada en la fuente, y una anchura preferida basada en la fuente y el texto que muestra. Un UIProgressView solo tiene una altura preferida basada en su ilustración, pero no tiene una anchura preferida. Un plano de UIView no tiene anchura ni altura preferidas.

Resistencia a la Compresión y Abrazos de Contenido

Cada vista tiene contenido prioridades de resistencia a la compresión y prioridades de abrazo de contenido asignado para ambas dimensiones. Estas propiedades solo tienen efecto para vistas que definen un tamaño de contenido intrínseco, de lo contrario no hay tamaño de contenido definido que podría resistir la compresión o ser abrazado.

Entre bastidores, el tamaño intrínseco del contenido y estas prioridades los valores se traducen en restricciones. Para una etiqueta con un valor intrínseco tamaño del contenido de { 100, 30}, compresión horizontal / vertical prioridad de resistencia de 750, y contenido horizontal / vertical abrazando priority of 250, four constraints will be generated:

H:[label(<=100@250)] 
H:[label(>=100@750)]
V:[label(<=30@250)]
V:[label(>=30@750)]

Si no está familiarizado con el lenguaje de formato visual para el restricciones utilizadas anteriormente, puede leer sobre ello en Apple documentación. Teniendo en cuenta que estas limitaciones adicionales son generado implícitamente ayuda a entender el comportamiento de Auto Layout y a dar mejor sentido a sus mensajes de error.

Aquí hay otra pregunta de StackOverflow que aborda la diferencia entre la resistencia a la compresión de contenido y el abrazo de contenido: Cocoa Autolayout: contenido abrazos vs contenido compresión resistencia prioridad

 86
Author: smileyborg,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:34:43