第一种方法,只能单独设置单行的
NSDictionary*attrs=@{NSFontAttributeName:[UIFont boldSystemFontOfSize:17]};
CGSize size=[_itemNamelabel.text sizeWithAttributes:attrs];
[self.itemNamelabel setFrame:CGRectMake(40,10,size.width,20)];
第二种方法,可以设置多行
textLabel.numberOfLines=0;//根据最大行数需求来设置
textLabel.lineBreakMode = NSLineBreakByTruncatingTail;
CGSize maximumLabelSize =CGSizeMake(100,9999);//labelsize的最大值
// 关键语句
CGSize expectSize = [textLabel sizeThatFits:maximumLabelSize];
// 别忘了把frame给回label,如果用xib加了约束的话可以只改一个约束的值
textLabel.frame=CGRectMake(20,70, expectSize.width, expectSize.height);
[self.view addSubview:textLabel];
网友评论