J'ai 3 étiquettes avec des points de puce placés horizontalement. Je veux donner des points de conception personnalisée de points donc je pensais que je devrais les utiliser comme UIImage. Permettez-moi de l'illustrer:AutoResize La largeur de ContainerView en fonction de la dynamique UILabel
o PHP o Swift o Java
Il y aura une distance fixe entre chaque étiquette et son point assigné. Les étiquettes auront également une distance fixe avec la puce de la prochaine étiquette (p. Ex. PHP - puce de Swift). En fin de compte, je veux le centrer horizontalement à la vue.
Le scénario ci-dessus fonctionnerait si j'avais des textes statiques pour l'étiquette. Cependant, je veux utiliser des textes dynamiques.
La solution que je pensais créer 3 vues de conteneur. Donc, je l'aurais:
View
ContainerView1 ContainerView2 ContainerView3
|------------| |--------------| |--------------|
| o PHP | | o Swift | | o C |
|------------| |--------------| |--------------|
Mais cela ne semble pas cohérent pour les tailles de texte dynamiques/changeantes. J'utiliser sizeToFit pour ajuster le texte, mais les vues conteneur ont créé un ViewController distinct, donc je ne suis pas sûr de pouvoir ajuster la largeur des vues du conteneur à 'Bullet Point + dynamique' '.
Parent ContainerView (or UIView?)
|-----------------------------|
| CV1 CV2 CV3 |
| |-----| |-------| |---| |
| |o PHP| |o Swift| |o C| |
| |-----| |-------| |---| |
|-----------------------------|
Ce scénario ne fonctionnera que si je peux manipuler automatiquement la largeur de « vue du conteneur » en ce qui concerne la largeur du point Bullet Label. Ainsi, je peux faire une marge fixe pour chaque conteneur et les centrer horizontalement (peut-être en utilisant un conteneur parent).
Quel est le moyen d'y parvenir? Y a-t-il un moyen de le faire sur Storyboard ou par programmation?
Je n'ai pas vraiment compris comment le CV1 va comprendre le changement de taille de UILabel et mettre à jour sa propre largeur à la nouvelle largeur (largeur balle + étiquette). À ce stade, je comprends que les CV1 - CV2 et CV2 - CV3 auront des marges fixes. Mais maintenant, comment le ParentCV ajustera-t-il sa largeur en fonction des CVs et les CV ne seront pas ajustés (si j'utilise leading & trailing de CVs à ParentCV). Après ce centrage parentContainer à SuperView horizontalement est assez simple. Pouvez-vous s'il vous plaît me donner plus de détails? – senty
Dans '' CV's vous devez appliquer la même méthode que dans le parent parce que vous voulez essentiellement la même chose. Vous devez donc définir la marge d'interlignage pour l'image de la puce, l'espacement vertical entre l'image de la puce et l'étiquette et la marge de fin de l'étiquette.Et cela devrait être, autolayout va définir la largeur du 'CV' en fonction du contenu à l'intérieur. – Jelly
Pouvez-vous s'il vous plaît créer un exemple de projet si ce n'est pas trop demander? Je suis vraiment confus et très excité d'apprendre cela. Quoi que j'essaie, quelque chose ne fonctionne pas: S – senty