143 Stimmen

iOS mehrzeiliges Etikett im Interface Builder

Wie kann ich eine mehrzeilige UILabel in Interface Builder für iOS? Ich habe die UITextView aber es entsprach nicht ganz meinen Bedürfnissen.

Wie kann ich mehrzeiligen Text in ein Etikett einfügen?

191voto

akashivskyy Punkte 42822

Sie können verwenden numberOfLines Eigenschaft, die Folgendes definiert maximal Anzahl der Zeilen, die ein Etikett haben kann. Standardmäßig ist es 1 . Einstellung auf 0 bedeutet, dass das Etikett unbegrenzte Zeilen .

Sie können es im Code tun:

textLabel.numberOfLines = 5 // for example

Oder im Interface Builder:

127voto

user1233894 Punkte 1572

Hit Control + Enter um eine Zeile in UILabel in Interface Builder/Storyboard hinzuzufügen.

48voto

Bogdan Punkte 2560

Danke AppleVijay!

Auch zum Aufrufen von sizeToFit, etwa so:

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

Die Höhe wird automatisch errechnet.

12voto

Stellen Sie die Breite des Etiketts so ein, wie Sie es brauchen, und verwenden Sie IB, um die Zeilenumbrüche auf Wortumbruch einzustellen.

oder mit einem Code wie diesem verwenden

Ich habe eine Lösung gefunden.

Man muss nur den folgenden Code hinzufügen:

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

8voto

Krunal Punkte 73316

Stellen Sie die Anzahl der Zeilen auf Null für dynamische Textinformationen ein. Dies ist nützlich, wenn Ihr Text variiert.

Programmatisch (Swift 3)

var label = UILabel()
let stringValue = "iOS\nmultiline\nlabel\nin\nInterface\nbuilder"
label.text = stringValue
label.numberOfLines = 0 // Set 0, if number of lines not specified.
label.lineBreakMode = .byTruncatingTail // or .byWrappingWord
label.minimumScaleFactor = 0.8 . // It is not required but nice to have a minimum scale factor to fit text into label frame

Inetrface Builder verwenden

enter image description here

Hinweis: Es ist nicht erforderlich, die Minimum Font Scale aber es wäre schön, wenn es einen Mindestmaßstab gäbe, damit der Text in den Etikettenrahmen passt.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X