140 votes

Étiquette multiligne iOS dans le constructeur d'interface

Comment faire pour qu'un texte multiligne UILabel dans le constructeur d'interface pour iOS ? J'ai essayé le UITextView mais il ne répondait pas tout à fait à mes besoins.

Comment ajouter une ligne multiple (texte) dans une étiquette ?

0 votes

Pouvez-vous expliquer pourquoi id ne répondait pas à vos besoins ? Un TextView en lecture seule est identique à une étiquette multiligne.

0 votes

Il ne semble pas y avoir de propriété de couleur de texte en surbrillance.

7 votes

Pour les autres personnes qui visitent cette question, ne suivez pas la réponse acceptée de mettre les lignes à 5 ou n . Au lieu de cela, mettez-le à 0 (sorte d'infini). Vérifiez la réponse de Vijay ci-dessous.

187voto

akashivskyy Points 11508

Vous pouvez utiliser numberOfLines qui définit maximum nombre de lignes qu'une étiquette peut avoir. Par défaut, c'est 1 . En le réglant sur 0 signifie que l'étiquette aura lignes illimitées .

Vous pouvez le faire en code :

textLabel.numberOfLines = 5 // for example

Ou dans Interface Builder :

0 votes

J'ai essayé, ça marche quand j'écris l'étiquette, mais quand j'appuie sur entrée pour accepter, tout va sur une seule ligne.

3 votes

Et quel est le width de votre label ?

8 votes

Ok, je l'ai maintenant, j'ai augmenté la hauteur, ça a marché. Merci !

122voto

user1233894 Points 252

Hit Control + Enter pour ajouter une ligne dans UILabel dans Interface Builder/Storyboard.

2 votes

Merci, c'est ce que j'essayais de faire :)

0 votes

Ce devrait être la solution !

14 votes

C'est bien. Mais "Q" n'est pas nécessaire, je suppose.

48voto

Bogdan Points 1091

Merci AppleVijay !

Aussi pour appeler sizeToFit, comme ceci :

label.lineBreakMode = UILineBreakModeWordWrap;
label.numberOfLines = 0;
[label sizeToFit];

La hauteur sera automatiquement calculée.

11 votes

Remarque : UILineBreakModeWordWrap est obsolète depuis iOS6. Utilisez [label setLineBreakMode:NSLineBreakWordWrapping] ; à la place.

5 votes

Il manque "By". label.lineBreakMode = NSLineBreakByWordWrapping

1 votes

Utiliser NSLineBreakMode.ByWordWrapping au lieu de UILineBreakModeWordWrap pour swift

12voto

Réglez la largeur de l'étiquette comme vous le souhaitez, puis utilisez IB pour définir les sauts de ligne et le retour à la ligne.

ou utiliser avec un code comme ceci

J'ai trouvé une solution.

Il suffit d'ajouter le code suivant :

textLabel.lineBreakMode = NSLineBreakByWordWrapping;
textLabel.numberOfLines = 0;

1voto

Artisan Points 3

Dans iOS7 (Xcode5), vous devez définir les lignes de UILabel à 0 pour une saisie multiple illimitée dans le storyboard.
Le plus important est de définir le height of the UILabel peut contenir les lignes d'entrée que vous allez définir.

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