(原创)iOS中cell高度自适应方法UITableView设置

一:修改tableView 的heightForRowAtIndexPath代理方法,每一行都设置为动态高度

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

    UILabel *strLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 216, 50)];
    strLabel.text = @"7359215783296175893217632157092379230176392105kgdlsagjkdslagkdasljgkdajgldsklagjlskdjgksajglskdjgsdgkasldjgklsdjgks"; //自己的字符串
    strLabel.numberOfLines = 0; //为0不重要
    strLabel.lineBreakMode = NSLineBreakByWordWrapping;
    strLabel.font = [UIFont systemFontOfSize:15.0]; //字体选对了,文本高度才算的准
    CGRect tmpRect = [strLabel.text boundingRectWithSize:CGSizeMake(216, 1000) options:NSStringDrawingUsesLineFragmentOrigin attributes:[NSDictionary dictionaryWithObjectsAndKeys:strLabel.font,NSFontAttributeName, nil] context:nil]; //216是宽度(重要),1000只要很大就行了。
    CGFloat nameH = tmpRect.size.height;

    return nameH+35;
}

二:在cell的xib设置里,设置这个高度动态变化的label(或者你的其他控件)的最大行数

这里写图片描述

总结:涉及到UILabel高度自适应里面文本高度,以及cell的设置。如果cell里面是图片数量不固定,可以嵌入UICollectionView或者本文中方法改变控件。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值