网上找了很多资料,都是iOS7.0之前的方法,现在苹果都已经弃用,不能使用了,小弟找了一个iOS7.0之后的方法,写下来给大家分享下
1 //创建UILabel 2 UILabel *label=[[UILabel alloc]init]; 3 4 //设置label可以换行 5 label.numberOfLines=0;//必须设置 //写好测试字符串 6 NSString * [email protected]"这些字都是用来测试UIlabel是否可以自适应高度的,所以无论我写了些什么你都不要奇怪和惊讶,因为我都不知道我在写了些啥东西哈哈哈哈哈"; 7 //设置label字体 8 label.font=[UIFont systemFontOfSize:14.0];//必须设置 9 10 CGSize size=CGSizeMake(100, 200000);//可以限制宽 高度可以任意 11 12 //下面方法中需要的参数 注意:字体的大小要和上面设置字体大小的一直 13 NSDictionary * [email protected]{NSFontAttributeName:[UIFont systemFontOfSize:14.0]}; 14 15 //同上面的字典一样也是下面方法需要的参数 16 // NSStringDrawingUsesLineFragmentOrigin 表示矩形区域的高度被忽略 17 // NSStringDrawingUsesFontLeading 表示计算之后的矩形区域包括行间距 18 19 //计算高度 20 CGRect rect= [ str boundingRectWithSize:size options:NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading attributes:dic context:nil]; 21 22 //设置label的位置和高度 23 label.frame=CGRectMake(20, 100, rect.size.width, rect.size.height); 24 25 //设置label显示内容 26 label.text=str; 27 28 [self.view addSubview:label];
时间: 2024-10-24 12:03:07