【iOS】UILabel自适应高度和自动换行

来源:互联网 发布:java面向对象编程案例 编辑:程序博客网 时间:2024/05/16 17:21
我们需要根据UILabel中字符串的多少来确定label的大小(长度),下面是label自适应大小的方法

//
初始化label
UILabel*label = [[UILabelallocinitWithFrame:CGRectMake(0,0,0,0)];
   
//设置自动行数与字符换行
[labelsetNumberOfLines:0];// 0代表有无限多行
label.lineBreakMode= UILineBreakModeWordWrap; // 这个是换行模式,按单词换行
   
//测试字串
NSString*str = @" 这里有好多字...这里有好多字...这里有好多字...这里有好多字...这里有好多字...这里有好多字...这里有好多字...这里有好多字...这里有好多字...这里有好多字...这里有好多字...这里有好多字...";

//把字符串加到label
label.text= str;
   
//设置字体
label.font= [UIFont fontWithName:@"Arial"size:12];
   
//设置一个行高上限
CGSizesize = CGSizeMake(label.frame.size.width,2000);
   
//计算实际frame大小,并将labelframe变成实际大小
CGSizelabelSize = [label.textsizeWithFont:label.fontconstrainedToSize:sizelineBreakMode:UILineBreakModeWordWrap];
   
label.frame= CGRectMake(0,0, label.frame.size.width, labelSize.height);

0 0
原创粉丝点击