设置model类Student
-(void)configureCellForModel:(Student*)stu
{
self.nameLabel.text= stu.name;
self.phoneNumberlabel.text= stu.phoneNumber;
self.hobbyLabel.text= stu.hobby;
//设置可以分行
self.hobbyLabel.numberOfLines= 0 ;
设置hobby的frame,自适应高度
self.hobbyLabel.frame=CGRectMake(110,90, 120,[BoyCellheightForString:stu.hobby]);
self.pictureView.image= [UIImageimageNamed:@"1.jpg"];
}
//在返回Cell高度时该方法需要使用+号方法。原因是:程序运行heightForRowAtIndexPath方法要比CellForRowAtIndexPath方法先执行。这时根本不存在Cell对象,所以只能用类名调用,使用加好方法
+(CGFloat)heightForRow:(Student*)stu
{
return [selfheightForString:stu.hobby]+ 90;
}
根据输入的字体大小和label的宽度,返回高度
+(CGFloat)heightForString:(NSString*)string
{
NSDictionary * dic =[NSDictionarydictionaryWithObject:[UIFontsystemFontOfSize:18]forKey:NSFontAttributeName];
CGRect bounds =[stringboundingRectWithSize:CGSizeMake(120,0)options:(NSStringDrawingUsesLineFragmentOrigin)attributes:diccontext:nil];
returnbounds.size.height;
}