2 votes

Définition des contraintes d'une cellule de collection d'interface utilisateur

Dans mon interface utilisateur, il y a une collection View où chaque cellule contient un UILabel et un UIImageView. Ils sont alignés comme suit.

entrer la description de l'image ici

Où je suis bloqué, c'est en établissant des contraintes pour eux car chaque UILabel a une longueur aléatoire. Je veux toujours faire en sorte que la distance entre le côté gauche de l'image et le côté gauche de la cellule soit égale à la distance entre le côté droit de l'étiquette et le côté droit de la cellule (dans une certaine cellule).

Je sais que je peux définir le centerY de chaque élément égal à centerY de chaque élément. Mais comment puis-je définir l'autre ancre.

Je n'utilise pas de Storyboards.

0voto

EmilioPelaez Points 3561

Je ajouterais une vue empilée horizontalement, définir des contraintes à chaque bord avec la marge souhaitée, et ajouter l'image et l'étiquette à la vue empilée.

Ensuite, définissez la priorité d'enroulement de la vue de l'image plus élevée que l'étiquette. Cela fera en sorte que l'étiquette occupe l'espace restant tout en étant alignée à gauche.

0voto

Nishant Taneja Points 1

Si je comprends bien votre problème, vous souhaitez définir un espacement égal pour le côté gauche de UIImageView et le côté droit de UILabel. Pour cela, je vous recommanderais de mettre ces vues (UIImageView et UILabel) dans un UIStackView avec les propriétés : axe en "horizontal" et alignement en "centré"; et en ajoutant une contrainte pour un espace de départ et de fin avec une contrainte pour CenterX et CenterY.

Pour faciliter la compréhension, jetez un œil à l'image de Contraintes UIStackView

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X