项目中在写控件时会时不时遇到需要label自适应内容宽高的情况,例如评论,商品简介,备注,试题题目,答案解析等等。
也是为了以后再写label自适应时方便CV大法,所以先记下。
UILabel*lab = [[UILabel alloc]initWithFrame:CGRectZero];
[lab setNumberOfLines:0];
lab.textColor= [UIColor redColor];
lab.font= [UIFont systemFontOfSize:16];
lab.text=@"热爱中华人民共和国热爱中华人民共和国热爱中华人民共和国热爱中华人民共和国热爱中华人民共和国热爱中华人民共和国热爱中华人民共和国热爱中华人民共和国热爱中华人民共和国热爱中华人民共和国热爱中华人民共和国热爱中华人民共和国热爱中华人民共和国热爱中华人民共和国热爱中华人民共和国热爱中华人民共和国热爱中华人民共和国热爱中华人民共和国热爱中华人民共和国热爱中华人民共和国热爱中华人民共和国热爱中华人民共和国热爱中华人民共和国热爱中华人民共和国热爱中华人民共和国热爱中华人民共和国热爱中华人民共和国热爱中华人民共和国热爱中华人民共和国热爱中华人民共和国热爱中华人民共和国热爱中华人民共和国热爱中华人民共和国热爱中华人民共和国热爱中华人民共和国热爱中华人民共和国热爱中华人民共和国热爱中华人民共和国热爱中华人民共和国热爱中华人民共和国热爱中华人民共和国热爱中华人民共和国 ";
NSMutableParagraphStyle*paragraphStyle = [[NSMutableParagraphStyle alloc]init];
paragraphStyle.lineBreakMode=NSLineBreakByCharWrapping;
NSDictionary*dic =@{NSFontAttributeName:lab.font,NSParagraphStyleAttributeName:paragraphStyle.copy};
CGRect rect = [lab.text boundingRectWithSize:CGSizeMake(414,2000)options:NSStringDrawingUsesLineFragmentOriginattributes:diccontext:nil];
lab.frame=CGRectMake(90,5, rect.size.width,rect.size.height);
//设置字体大小以及颜色的两句代码要写在前面,不然在label内内容多的时候可能会出现上下留有空白以及内容显示不全的情况。
网友评论