iOS:UILabel自适应高度(UITextView类似)

//初始化label  
UILabel *lbl = [[UILabel alloc] initWithFrame:CGRectMake(0,0,0,0)];  
//设置自动行数与字符换行  
[lbl setNumberOfLines:0];  
lbl.lineBreakMode = UILineBreakModeWordWrap;   
// 文本  
 NSString *s = @"测试字串测试字串测试字串测试字串测试字串测试字串测试字串测试字串测试字串测试字串测试字串测试字串测试字串测试字串测试字串测试字串测试字串测试字串测试字串测试字串测试字串测试字串"; 
UIFont *font = [UIFont fontWithName:@"Arial" size:12];  
//设置一个行高上限  
CGSize size = CGSizeMake(320,2000);  
//计算实际frame大小,并将label的frame变成实际大小  
 CGSize labelsize = [s sizeWithFont:font constrainedToSize:size lineBreakMode:NSLineBreakByWordWrapping];  
 //重设UILabel的frame
[label setFrame:CGRectMake:(0,0, labelsize.width, labelsize.height)];


你可能感兴趣的:(iOS:UILabel自适应高度(UITextView类似))