iOS
Content Hugging / Compression de contenu dans Autolayout
Recherche…
Remarques
Priorité de résistance à la compression de contenu
Cette valeur détermine à quel point une vue doit être compressée ou réduite. Une valeur plus élevée signifie que la vue sera moins susceptible d'être compressée et plus susceptible de rester la même.
Priorité au contenu
Cette valeur détermine à quel point une vue doit être étendue. Vous pouvez imaginer «étreindre» ici pour signifier «taille à adapter» - les limites de la vue seront «étreintes» ou seront proches de la taille du contenu intrinsèque. Une valeur plus élevée signifie que la vue risque moins de se développer et de rester la même.
Définition: taille du contenu intrinsèque
Avant la mise en page automatique, vous deviez toujours indiquer aux boutons et aux autres contrôles leur taille, en définissant leurs propriétés de cadre ou de limite ou en les redimensionnant dans Interface Builder. Mais il s'avère que la plupart des contrôles sont parfaitement capables de déterminer la quantité d'espace dont ils ont besoin, en fonction de leur contenu.
Une étiquette sait quelle est la largeur et la hauteur car elle connaît la longueur du texte qui a été défini, ainsi que la taille de la police pour ce texte. De même pour un bouton , qui peut combiner le texte avec une image d'arrière-plan et un peu de remplissage.
Il en va de même pour les contrôles segmentés, les barres de progression et la plupart des autres contrôles, même si certains n’ont qu’une hauteur prédéterminée mais une largeur inconnue.
C'est ce que l'on appelle la taille du contenu intrinsèque, et c'est un concept important dans la mise en page automatique. Auto Layout demande à vos contrôles quelle taille ils doivent avoir et affiche l'écran en fonction de ces informations.
Habituellement, vous voulez utiliser la intrinsic content size
, mais dans certains cas, vous pouvez ne pas vouloir le faire. Vous pouvez empêcher cela en définissant une contrainte de largeur ou de hauteur explicite sur un contrôle.
Imaginez ce qui se passe lorsque vous définissez une image sur un UIImageView si cette image est beaucoup plus grande que l’écran. Vous souhaitez généralement donner aux images une largeur et une hauteur fixes et mettre le contenu à l'échelle, à moins que vous ne souhaitiez redimensionner la vue aux dimensions de l'image.
Référence: https://www.raywenderlich.com/115444/auto-layout-tutorial-in-ios-9-part-2-constraints