在.h里声明该方法
#warning 内容自适应第1步 自定义计算内容高度方法
+(CGFloat)heightForCell:(NSString *)content
{
//根据内容算内容高度
//参数1.指定内容高度来计算内容高度
//参数2.指定计算高度的方法
//参数3.指定内容文字大小来计算内容高度
//参数4.苹果备用参数,设置为nil
CGRect rect= [content boundingRectWithSize:CGSizeMake(300, 1000) options:NSStringDrawingUsesLineFragmentOrigin attributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIFont systemFontOfSize:17],NSFontAttributeName, nil] context:nil];
return rect.size.height;
}
第二步在自定义cell的重写model的set方法里写
#warning 内容自适应第2步 调用方法计算高度
CGFloat height = [ListTableViewCell heightForCell:self.stu.contents];
CGRect tempRect=self.label1.frame;
tempRect.size.height=height;
self.label1.frame=tempRect;
#warning 内容自适应第3步 根据每个cell自适应高度(利用单例来传值,也可以用其他方法)
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *key=[DataHandle shareHandle].allKeysArray[indexPath.section];
NSMutableArray *array=[[DataHandle shareHandle].stuDic objectForKey:key];
Students *stu=array[indexPath.row];
CGFloat height= [ListTableViewCell heightForCell:stu.contents];
return height+50;
}