简体   繁体   中英

Line Breaks and Number of Lines in Swift Label (Programmatically)

By selecting a Label in a StoryBoard, I can select Line Break to be Word Wrap and change number of lines to be more than 1. How can I do that Programmatically in Swift? 在此处输入图片说明

You can do this to set it programmatically

 label.lineBreakMode = NSLineBreakMode.ByWordWrapping
 label.numberOfLines = 3

Swift 3/4

label.lineBreakMode = .byWordWrapping
label.numberOfLines = 3

If you want the label to have multiple lines, do this:

var myLabel:UILabel = UILabel(frame: CGRectMake(7, 200, 370, 100))
myLabel.lineBreakMode = NSLineBreakMode.ByWordWrapping
myLabel.numberOfLines = 0                      //'0' means infinite number of lines

Do remember to increase the height in "CGRectMake (7, 200, 370, 100 )" <-- This
Otherwise the label won't be able to take the multiple lines of text.

Note with Swift 3 you need to use updated method byWordWrapping

productNameLabel.lineBreakMode = .byWordWrapping
productNameLabel.numberOfLines = 1

在此处输入图片说明


Or for adding Ellipsis at the end use byTruncatingTail

productNameLabel.lineBreakMode = .byTruncatingTail
productNameLabel.numberOfLines = 1

在此处输入图片说明

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM