如果 label 文字只有一行
UILabel *label1=[[UILabelalloc]initWithFrame:CGRectZero];
label1.text=@"";//label 文字较少 只用一行就能显示
label1.font=SYSTEMFONT(15);
label1.textColor=RGBCOLOR(77,187, 254);
CGSize size1=[label1.text sizeWithAttributes:@{NSFontAttributeName:label1.font}];
label1.frame=CGRectMake(0,0, size1.width, size1.height);
如果是多行文字,
UILabel *label2=[[UILabelalloc]initWithFrame:CGRectZero];
label2.text=@"比较多的文字";
label2.font=SYSTEMFONT(12);
label2.textColor=RGBCOLOR(65,65, 65);
label2.numberOfLines=0; //设置行数
// CGSize size2=[label2.textsizeWithAttributes:@{NSFontAttributeName:label2.font}];
CGSize size2 = [label2.text boundingRectWithSize:CGSizeMake(SCREEN_WIDTH-40,SCREEN_HEIGHT) options:NSStringDrawingUsesLineFragmentOriginattributes:@{NSFontAttributeName:[UIFontsystemFontOfSize:12]}context:nil].size;
//boundingRectWithSize 根据 text 的大小font 设置显示范围 ??还没有弄清楚 cgsize 是什么作用
label2.frame=CGRectMake(0,CGRectGetMaxY(label1.frame)+15,SCREEN_WIDTH-40,size2.height);