iOS开发之tableViewCell高度自适应

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

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值