/**根据显示内容自动计算标签的大小*/
UILabel *label2 = [[UILabel alloc]init];
label2.text = @"UILabelUUILabelUUILabelUUILabelUUILabelUUILabelUUILabelUUILabelUUILabelUUILabelUUILabelUUILabelU";
//1.设置显示行数不做限制
label2.numberOfLines = 0;
//2.计算大小,这个是字符串方法
//参数1:sizeWithFont:指定显示文字的字体
//参数2:constrainedToSize:限制显示内容的最大大小(宽度,高度)
label2.font = [UIFont systemFontOfSize:20];
//这个是ios6之前的方法
CGSize size = [label2.text sizeWithFont:[UIFont systemFontOfSize:20] constrainedToSize:CGSizeMake(300, 10000) lineBreakMode:NSLineBreakByWordWrapping];
//显示字体合适的大小
NSLog(@"%@",NSStringFromCGSize(size));
label2.frame = CGRectMake(20, 150, size.width, size.height);
//ios7以后的方法,根据一些参数的设置计算出显示文字内容的最合适的大小
//参数1:限制的大小
//参数2:<#(NSStringDrawingOptions)#>,描画选项:NSStringDrawingUsesLineFragmentOrigin(固定格式)
//参数3:字典,传一个包含value字体名和key字体属性名称的字典
//参数4:描画上下文,默认传nil
NSDictionary *dic = [NSDictionary dictionaryWithObject:label2.font forKey:NSFontAttributeName];
CGRect rect = [label2.text boundingRectWithSize:CGSizeMake(300, 10000) options:NSStringDrawingUsesLineFragmentOrigin attributes:dic context:nil];
label2.frame = CGRectMake(20, 150, rect.size.width, rect.size.height);
label2.backgroundColor = [UIColor whiteColor];
NSLog(@"%@",NSStringFromCGRect(rect));