Comment ajuster une taille d'étiquette pour s'adapter à la longueur du texte
J'ai cherché la solution à ce problème dans le passé QAs, mais ne pouvait pas trouver la bonne.
Quelqu'un sait-il comment régler unUILabel
taille dynamique pour ajuster la longueur du texte?
J'ai téléchargé la capture d'écran de ce que je ne veux pas(1ère ligne) et ce que je veux(2ème ligne).
J'apprécierais toute indices, des conseils ou des exemples de code. Merci.
source d'informationauteur boochan224
Vous devez vous connecter pour publier un commentaire.
Ce que vous cherchez, c'est la UILabel méthode
sizeToFit
Je peux essayer de vous expliquer, mais la meilleure réponse pour savoir comment travailler avec UILabel, c'est que: https://stackoverflow.com/a/1054681/666479
Xcode 8 et iOS 10
C'est assez facile à faire avec Mise en page Automatique. Pas besoin de faire quoi que ce soit dans le code.
Utiliser La Mise En Page Automatique
Utiliser la mise en page automatique de code pin à chaque étiquette bords haut et gauche seulement. Ne pas ajouter des contraintes pour la largeur et la hauteur. Le point de vue intrinsèque de la taille du contenu prendra soin de cela.
Voici ce que les contraintes de ressembler à:
Code
Il n'y a rien de spécial sur le code. Pas besoin d'utiliser
sizeToFit
ou quelque chose comme ça.Notes
vous avez tout simplement calculer
UILabel
la largeur de la taille de la chaîne,essayez ce simple code pour définirUILabel
tailleessayer cette
Vous pouvez utiliser ce bout de code pour calculer la largeur d'étiquette et de définir
//vous pouvez obtenir la largeur largeur hauteur de expectedLabelSize et définir en conséquence
Actuellement, je travaille sur IOS 8 et il y a de petites modifications que j'ai apportées à @Suragch réponse (il Faut utiliser la mise en page automatique pour faire ce travail)
Ci-dessous est l'étape et la capture d'écran du résultat :
dans le storyboard
capture d'écran(en ajoutant la contrainte est facultative, mais j'ai ajouté )
Il n'est pas nécessaire d'ajouter du code dans swift cela peut être fait dans le storyboard.
Résultat :
Tout ce que vous devez juste mettre 2 lignes de code
Il va gérer largeur d'étiquette que par son contenu
Espère que cela aide les autres 🙂