Texte UILabel ne pas emballer
Je suis en train de travailler sur un projet Swift avec les Storyboards où je veux que le texte de l'envelopper dans un label. Dans l'ancien Objective-C version où je n'ai pas utiliser une table de montage, j'ai utilisé les paramètres suivants et les choses travaillé à la perfection.
Voici les paramètres pour Swift
J'ai lu sur le potentiel de mise en page automatique des problèmes avec vos paramètres de largeur. J'ai actuellement mis à disposition automatique et l'étiquette elle-même est définie à une largeur de 560. J'ai ajouté une contrainte à garder l'étiquette de 20 pixels à partir de la fin superview et alors que je pensais que ce serait le travail je ne peut toujours pas mettre le texte à enrouler. La dimension paramètres ci-dessous.
Quelqu'un peut m'expliquer comment mettre le texte de l'envelopper?
source d'informationauteur jonthornham
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, la bonne nouvelle: Vous avez mis de l'étiquette à 2 lignes et le retour. Donc, il peut envelopper. Excellent.
Maintenant, vous devez assurez-vous que l'étiquette est assez grand. Soit donner pas hauteur de contrainte, ou de lui donner une assez grande hauteur de la contrainte qu'il peut accueillir deux lignes.
Enfin, vous devez limite de sa largeur. C'est ce qui provoque le texte à l'envelopper. Si vous n'avez pas de limite de largeur de l'étiquette, il n'aura de cesse croissant vers la droite, potentiellement continue hors de l'écran. La limite de la largeur de l'étiquette arrête cette droite de la croissance et provoque le texte à envelopper (et l'étiquette de croître à la baisse à la place).
Vous pouvez limiter la largeur de plusieurs façons. Vous pouvez avoir une largeur réelle de contraintes. Ou vous pouvez avoir un leader de la contrainte et de suivi de la contrainte, de quelque chose de relativement immobiliers, tels que le superview. Et il y a une troisième voie: la Taille de l'inspecteur (qui vous ne montrons aussi, en bas à droite de votre question), définissez la Largeur Préférée (elle est indiquée en haut de la Taille de l'inspecteur): c'est la largeur qui, toutes autres choses étant égales par ailleurs, l'étiquette d'arrêter la croissance à droite et à envelopper et pousser vers le bas à la place.
Déclarer votre UILabel par programme et donner
Cela a fonctionné pour moi.
Votre texte est renvoyé à la ligne si vous avez fourni des lignes de plus de 1. Cependant vous ne pouvez pas être en mesure de voir ce retour si la hauteur d'étiquette n'est pas assez pour montrer le contenu. Je vous suggère de retirer la hauteur de la contrainte ou de l'accroissement de sa valeur.
Qu'est-ce résolu ce problème a été de changer le type d'étiquette à "espace Réservé" sous
Intrinsic Size
de l'IB. Quand j'ai changé de ce que le texte encapsulé et les mises en garde s'en alla.Dans le cas où cette aide n'importe qui: j'avais suivi les conseils donnés ici à fixer mon étiquette pas d'habillage pour les deux lignes, mais rien n'a fonctionné. Ce qui a fonctionné pour moi a été j'ai d'abord supprimé certains de contraintes pertinentes dans le storyboard (je suis à l'aide de mise en page automatique) et vu que l'étiquette emballé correctement. Tout doucement, j'ai rajouté les contraintes que j'ai besoin et tout semble bien fonctionner. Ainsi, la suppression et de modification de vos contraintes peuvent aider.