TableVIew自适应高低

自定义一个cell


//通过model类赋值

-(void)setMModel:(MModel*)mModel

{

    //移除重用

    for (int i=100; i<_lastLaberCount; i++) {

        UILabel *laber=(UILabel *)[self viewWithTag:i];

        [laber removeFromSuperview];

    }

//通过获取的计数创建Label

    for (NSInteger i = 0;i<[mModel.materials count];i++)

    {

        CGRect rect = [mModel.materials[i] boundingRectWithSize:CGSizeMake(320, 10000) options:NSStringDrawingUsesLineFragmentOrigin attributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIFont systemFontOfSize:18],NSFontAttributeName,nil] context:nil];

         self.Mlabel = [[UILabel alloc] initWithFrame:CGRectMake(0+(i%2)*160, 0+(i/2)*20, 160, rect.size.height)];

        self.Mlabel.tag = 100+i;//设置tag值

        self.Mlabel.textAlignment = NSTextAlignmentCenter;

        self.Mlabel.text = mModel.materials[i];

        self.Mlabel.numberOfLines = 0;//自动换行

        [self.contentView addSubview:self.Mlabel];

        _lastLaberCount=self.Mlabel.tag;

    }

}



外部控制器

//设置行高

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

{

        MModel *mm = _allkeys[indexPath.row];

        CGFloat currentY=0

        for (int i = 0; i< [mm.materials count]; i++) {

            CGRect rect = [mm.materials[i] boundingRectWithSize:CGSizeMake(320, 10000) options:NSStringDrawingUsesLineFragmentOrigin attributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIFont systemFontOfSize:18],NSFontAttributeName,nil] context:nil];

            //设置行数自适应

            currentY+=rect.size.height-9;

        }

        return currentY;       

    }

    

    

    

    

    

    

    

}





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值