美文网首页
tableviewcell自适应高度

tableviewcell自适应高度

作者: Freedom_fly | 来源:发表于2017-10-16 17:43 被阅读84次
    方法一:
    - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {       
       NSStringDrawingOptions options = NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading | NSStringDrawingTruncatesLastVisibleLine;
    // width 是label的宽度,固定宽度 计算高度
       CGRect size = [_dataArray[indexPath.row] boundingRectWithSize:CGSizeMake(width, 1000) options:options attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:16]} context:nil];
       return size.size.height+25; // 多加的高度用于上下留白
    }
    
    方法二:(iOS8-iOS10)
    self.tab.estimatedRowHeight = 50; // 先设置预估高度
    self.tab.rowHeight = UITableViewAutomaticDimension;
    // 需要将cell上的子控件约束好
    // 不用实现heightForRowAtIndexPath方法
    

    如果使用第二种方法后,cell没有自适应,需要看一下约束加的是否正确

    参考:

    UITableViewCell AutoLayout动态行高总结(兼容iOS7)
    UITableViewCell 高度自适应

    推荐一篇:

    UITableView的性能优化

    相关文章

      网友评论

          本文标题:tableviewcell自适应高度

          本文链接:https://www.haomeiwen.com/subject/pehluxtx.html