UILabel自适应内容

UILabel *label = [[UILabel alloc] initWithFrame:CGRectZero];

label.text = @“label label label label label label label label label label label label label label label label label label label label label label label label label label label label label label label label label label label label label label label label label ”

 

//1、计算内容大小

用CGSize 来计算内容的大小:

sizeWithFont 指的是字体的大小;

constrainedToSize 指的是最大的大小;宽度最大为label的宽,高不限

lineBreakMode 指的是超出以后的模式

如:

CGSize size = [label.text sizeWithFont:label.font constrainedToSize:CGSizeMake(300,10000) lineBreakMode:NSLineByCharWrapping];

 

//2、设置label最大显示行数

如:

label.numberOfLines = 0;

 

//3、用计算出来的size设置label

如:

label.frame = CGRectMake(10,10,size.width,size.height);

 

[self.view addSubview :label];

 

 

 

现在版本计算size有问题,更简便的方法是

 

label.numberOfLines = 0 ;

[label sizeToFit];

 

就ok了

 

posted @ 2015-05-17 13:44  H_F  阅读(178)  评论(0编辑  收藏  举报