How to do multiline UILabel in ios?

47,303

Solution 1

Set adjustsFontSizeToFitWidth to NO and numberOfLines to 0.

numberOfLines Docs

This property controls the maximum number of lines to use in order to fit the label’s text into its bounding rectangle. The default value for this property is 1. To remove any maximum limit, and use as many lines as needed, set the value of this property to 0.

If you constrain your text using this property, any text that does not fit within the maximum number of lines and inside the bounding rectangle of the label is truncated using the appropriate line break mode.

When the receiver is resized using the sizeToFit method, resizing takes into account the value stored in this property. For example, if this property is set to 3, the sizeToFit method resizes the receiver so that it is big enough to display three lines of text.

You may additionally want to specify the lineBreakMode unless the default UILineBreakModeWordWrap is suitable for what you want.

Solution 2

Use UILabel properties as below :

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

Solution 3

Yes, you set the numberOfLines to 0, and the .lineBreakMode to UILineBreakModeWordWrap in code, or the equivalents if your label is defined in IB.

Solution 4

I just used LineBreak mode to Truncate Tail and setNumberOfLines to 0 and its working for me. the label is of multiline now.

Share:
47,303
HardCode
Author by

HardCode

Updated on September 09, 2020

Comments

  • HardCode
    HardCode over 3 years

    I'm dynamically populating the title (UILabel). Sometime it's bit too long and IOS squeeze the font to fit in the width. Is there a way to do multiline with using same font size?

  • mwfire
    mwfire about 10 years
    Worth noting that UILineBreakModeWordWrap is deprecated since iOS 6.0, replaced by NSLineBreakByWordWrapping
  • Hemang
    Hemang almost 10 years
    No need to set adjustsFontSizeToFitWidth to NO - Default is NO
  • Waqas
    Waqas over 9 years
    Set the Autoshrink to minimum font size. and check the tighten letter spacing.
  • Jonathan Crooke
    Jonathan Crooke about 9 years
    This is essential! Word wrap doesn't do it, you must set a truncate mode