iOS开发之tableViewCell高度自适应

来源:互联网 发布:sql count用法详解 编辑:程序博客网 时间:2024/05/20 20:45

设置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;

}


0 0
原创粉丝点击