MultiLine UIlabel 不显示所有文本?

2 objective-c uilabel ios swift

我想根据其中的文本显示标签大小,因为我使用了 uilabel 行属性数。

lbl.numberoflines = 0;
Run Code Online (Sandbox Code Playgroud)

但它只显示三行,然后显示...。并非所有文字都显示。

当我给出的行数超过 3 时,它会在标签中显示该行。

感谢帮助

Anb*_*hik 5

尝试这个

lbl.lineBreakMode = UILineBreakModeWordWrap;

lbl.numberOfLines = 0;
Run Code Online (Sandbox Code Playgroud)

如果你想手动计算高度

 lbl.numberOfLines = 0; // allows label to have as many lines as needed
lbl.text =@"xxxxxxxxxxxxxxxxxxxxxx";
CGSize labelSize = [ lbl.text sizeWithFont: lbl.font constrainedToSize:CGSizeMake(300, 300)  lineBreakMode:NSLineBreakByWordWrapping];

// set the frame of labels here 
Run Code Online (Sandbox Code Playgroud)

否则你可以直接放在Attribute中

在此处输入图片说明

迅捷3

lbl.lineBreakMode = .byWordWrapping
lbl.numberOfLines = 0

// allows label to have as many lines as needed
lbl.text = "xxxxxxxxxxxxxxxxxxxxxx"
var labelSize = lbl.text.size(with: lbl.font, constrainedToSize: CGSize(width: 300, height: 300), lineBreakMode: .byWordWrapping)
// set the frame of labels here  }
Run Code Online (Sandbox Code Playgroud)