iOS multiline label in Interface builder

筅森魡賤 提交于 2019-11-27 17:05:39

You can use numberOfLines property which defines maximum number of lines a label can have. By default, it's 1. Setting it to 0 means the label will have unlimited lines.

You can do it in code:

textLabel.numberOfLines = 5 // for example

Or in Interface Builder:

user1233894

Hit Control+Enter to add a line in UILabel in Interface Builder/Storyboard.

Thanks AppleVijay!

Also to call sizeToFit, like this:

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

The height will be automatically computed.

Vijay-Apple-Dev.blogspot.com

set width of label as u needed small then use IB to set line breaks to word wrap

or use with code like this

I found a solution.

One just has to add the following code:

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

Set number of lines zero for dynamic text information, it will be useful when your text are varying.

Programatically (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

Using Inetrface Builder

Note: It is not required to set Minimum Font Scale, but nice to have a minimum scale factor to fit text into label frame.

In iOS7 (Xcode5) you shold set the lines of UILabel to 0 for unlimited multiple input in storyboard.
The most important is to set the height of the UILabel can hold the lines of input you are going to set.

Number of lines is visible in IB with Plain UILabels set lines field as 0 . It will create multiple lines as per the provided space to the label.

Tanvi Jain
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};

If you set the numberOfLines property equal to 0, the label will automatically adjust to the required number of lines of the given text.

For X-Code 7.2

  1. -- Select UILabel

  2. -- Attributes inspector

  3. -- Text - Select Attributed

After this you can see some more attribute you can add into you label, in which you can also find number of Lines. Which make your label multiline.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!