wake-up-neo.com

mehrzeiliges iOS-Label im Interface-Builder

Wie kann ich in Interface Builder für iOS einen mehrzeiligen UILabel erstellen? Ich habe das UITextView ausprobiert, aber es entsprach nicht meinen Bedürfnissen.

Wie kann ich mehrzeiliges (Text) im Etikett hinzufügen?

114
Samuli Lehtonen

Sie müssen eine numberOfLines-Eigenschaft zuweisen. Sie können es per Code tun:

textLabel.numberOfLines = 5; // for example

Oder über den Interface Builder: enter image description here

161
akashivskyy

Schlagen Control+Enter Hinzufügen einer Zeile in UILabel in Interface Builder/Storyboard.

105
user1233894

Vielen Dank AppleVijay!

Auch um sizeToFit aufzurufen, so

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

Die Höhe wird automatisch berechnet.

47
Bogdan

legen Sie die Breite des Labels so fest, wie Sie es benötigen. Verwenden Sie IB, um Zeilenumbrüche in den Zeilenumbruch zu setzen

oder verwenden Sie diesen Code

Ich habe eine Lösung gefunden.

Man muss nur den folgenden Code hinzufügen:

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

Legen Sie die Anzahl der Zeilen für dynamische Textinformationen auf Null fest. 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, Minimum Font Scale einzustellen, aber Nizza, wenn der Skalierungsfaktor minimal ist, um Text in den Etikettenrahmen einzufügen.

4
Krunal

Zeilenanzahl ist in IB mit einfachen UILabels Zeilenzeilenfeld als 0 sichtbar. Es werden mehrere Zeilen entsprechend dem angegebenen Platz für das Label erstellt.

1
siddhant

In iOS7 (Xcode5) sollten Sie die Zeilen von UILabel auf 0 setzen, um eine unbegrenzte Mehrfacheingabe im Storyboard zu erhalten.
Das Wichtigste ist, dass height of the UILabel die Zeilen der Eingabe enthält, die Sie festlegen möchten.

1
Artisan
textLabel.lineBreakMode = UILineBreakModeWordWrap;

textLabel.numberOfLines = 0;

CGSize size =  [[[arrNewsFeed objectAtIndex:row] objectForKey:@"c"]  sizeWithFont:[UIFont systemFontOfSize:14.0]  constrainedToSize:CGSizeMake(188, CGFLOAT_MAX)
                                                                     lineBreakMode:NSLineBreakByTruncatingTail];

textLabel.frame = (CGRect){.Origin = cell.lblNewsDescription.frame.Origin, .size = size};
0
Tanvi Jain

Wenn Sie die numberOfLines-Eigenschaft auf 0 setzen, wird das Label automatisch an die erforderliche Zeilenanzahl des angegebenen Textes angepasst.

0
Pablo Marrufo