美文网首页
TableViewCell高度自适应

TableViewCell高度自适应

作者: S大偉 | 来源:发表于2018-11-12 11:39 被阅读6次

    这里分享一下苹果iOS8及以后的TableViewCell适配。

    iOS8以后苹果推荐的使用UITableView的属性estimatedRowHeight 和rowHeight = UITableViewAutomaticDimension来做TableViewCellView的自动适配功能。

    使用方法:
    1、首先初始化UITableView时,设置两个属性值

    //estimatedRowHeight一般设置为TableViewCellView的默认高度
    self.tableView.estimatedRowHeight = 100;
    self.tableView.rowHeight = UITableViewAutomaticDimension;
    

    2、去掉默认TableViewCellView的代理函数

    //- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
    //{
    //    return 100;
    //}
    

    3、在对UILabel赋值时设置属性和调用自动适配函数

    self.titleLab.text = @"你的内容";
    self.titleLab.numberOfLines = 0;
    [self.titleLab sizeToFit];
    

    4、如果你是使用xib来做的布局,请使用苹果的constraints,进行布局。


    constraints.png

    注意:
    1、只对UILabel布局上下左右进行限制,不要对高度和宽度做限定
    2、不只是对UILabel进行限制,它上下左右对应的控件应该也有限定。不然UILabel相对于父控件还是没有关联,父控件不会因为UILabel的内容的改变而自动适配高度。

    其他适配请参考一篇写的比较好的文章
    TableViewCell高度自适应
    Apple estimatedRowHeight的官方文档

    相关文章

      网友评论

          本文标题:TableViewCell高度自适应

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