Is there any way to have a label wordwrap text as needed? I have the line breaks set to word wrap and the label is tall enough for two lines, but it appears that it will only wrap on line breaks. Do I have to add line breaks to make it wrap properly? I just want it to wrap if it can't fit it in horizontally.
If you set numberOfLines
to 0 (and the label to word wrap), the label will automatically wrap and use as many of lines as needed.
If you're editing a UILabel
in IB, you can enter multiple lines of text by pressing option+return to get a line break - return alone will finish editing.
NSLineBreakByWordWrapping
, not UILineBreakModeWordWrap
. –
Clarhe label.lineBreakMode = .ByWordWrapping
and label.numberOfLines = 0
in swift –
Saddletree [label setLineBreakMode:NSLineBreakByWordWrapping]
–
Gallup UILabel
has a property lineBreakMode
that you can set as per your requirement.
In Swift you would do it like this:
label.lineBreakMode = NSLineBreakMode.ByWordWrapping
label.numberOfLines = 0
(Note that the way the lineBreakMode constant works is different to in ObjC)
Xcode 10, Swift 4
Wrapping the Text for a label can also be done on Storyboard by selecting the Label, and using Attributes Inspector.
Lines = 0 Linebreak = Word Wrap
Xcode 12.5.1, Swift 5.
I found that even though I had Lines = 0 and LineBreak = Word Wrap set, it still didn't wrap the long label text. Double check your label constraints in IB (or wherever you set them).
I found that sometimes IB tries to fix the constraint settings and adds a >= or <= constraint for leading and trailing edges.
This label constraint will not wrap the text:
But this will:
Notice the >= on the Label.trailing edge in the first picture. Set this to = and the text should wrap.
© 2022 - 2024 — McMap. All rights reserved.