最近先搁置我做了2年的JavaWeb 来做iOS,遇到的坑也不少,但是最近都在赶项目,现在好好的总结记录下来,如有不正确的地方也请大家指出来一下。废话不说了,今天我总结下:UILabel随文字的多少重置它的frame,先上代码:
UILabel description = [[UILabel alloc] initWithFrame:CGRectMake(0,0 , 300, 20)];
//设置自动行数与字符换行
[description setNumberOfLines:0];
description.lineBreakMode = NSLineBreakByWordWrapping;
// comments字串
NSString *comments =[NSString stringWithFormat:@"%@", @"你需要填充到UILabel的值"];
if(comments!=nil&![comments isEqual:@""]){
//设置一个行高上限
CGSize size = CGSizeMake(lineTwo.frame.size.width,kAppBounds.size.height*0.5);
//计算实际frame大小,并将label的frame变成实际大小
CGSize size01 = [comments sizeWithFont:[UIFont systemFontOfSize:15.0f] constrainedToSize:size lineBreakMode:NSLineBreakByWordWrapping];
[description setFrame:CGRectMake(0, 0, size01.width, size01.height+5)];
description.text = comments;
}else{
[description setFrame:CGRectMake(0, 0,300,20) ];
}
//以上的宽度,高度是会随UILabel的返回值得字数多少对UILabel的长度进行填充。