iOS-cell可变高度相关

cell高度可变的tableView提升加载速度

//这里为可变cell高度计算方法

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

{

    ManagerCell *cell = (ManagerCell *)[tableView dequeueReusableCellWithIdentifier:@"ManagerCell"];

    cell.topicLb.text = [self.dataArr objectAtIndex:indexPath.row];

    cell.topicLb.preferredMaxLayoutWidth = kScreenSize.width - 133 - 16;//固定lb宽度,来改变高度

    [cell.topicLb sizeToFit];

    BMLog(@"%s", __func__);

    CGSize size = [cell.contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize];

    return size.height>32?(size.height +1 +1):32;//cell中text内容过少得时候,给cell一个固定不变的高度

    

}

//这里为提升速度的关键方法

//这段代码是为了让上一个方法运行次数减少(提升性能)

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

{

    return 150.f;

}

相关资料:

https://www.shinobicontrols.com/blog/posts/2013/10/16/ios7-day-by-day-day-19-uitableview-row-height-estimation



计算cell中able高度

cell.topicLb.text = text;

cell.topicLb.preferredMaxLayoutWidth = kScreenSize.width - 133 - 16;

[cell.topicLb sizeToFit];

CGSize constraint = CGSizeMake(cell.topicLb.preferredMaxLayoutWidth, 20000.0f);

CGSize size = [text sizeWithFont:[UIFont systemFontOfSize:FONT_SIZE] constrainedToSize:constraint lineBreakMode:NSLineBreakByWordWrapping];



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值