自动计算tableView的高度

tableView自动计算行高:(须要设置两个属性:rowHeight和estimatedRowHeightspa

   注意:code

     执行这个方法时不会调用行高方法orm

   [tableView dequeueReusableCellWithIdentifier:()]

      执行这个方法时会调用行高方法继承

    [tableView dequeueReusableCellWithIdentifier:() forIndexPath:()]

  ——设置了预估行高it

       执行顺序:行数>每一个[cell > 行高](注:即返回每一个cell>每一个cell的行高)io

  • 当前显示的行高方法会调用三次(每一个版本的Xcode调用次数可能不一样)table

  ** 问题:预估行高若是不一样,计算的次数不一样!class

  •   1.使用预估行高,计算出预估的contentSize效率

  •   2.根据预估行高,判断计算次数,顺序计算每一行的行高,更新contentSizequeue

  •   3.若是预估行高过大,超出预估行高范围,顺序计算后续行高,一直到填满屏幕退出,同时更新contentSize

  •   4.使用预估行高,每一个cell显示前须要计算,单个cell的效率是低的,从总体效率是高的 

  • 特别注意:预估行高不要太大,也不要过小,尽可能靠近!!!

   ——没有设置预估行高

      执行顺序:行数 > 行高 > cell

  •     1.计算全部行的高度

  •     2.再计算显示行的高度

    ** 问题:为何要调用全部行高的方法?UITableView继承自UIScrollView

                  表格视图滚动很是流畅>须要提早计算出contentSize

设置预估行高的两个属性:

特别注意:这两个属性都要设置才能达到效果

  self.tableView.rowHeight =UITableViewAutomaticDimension;  // 行高
  self.tableView.estimatedRowHeight = 20;  // 预估行高
相关文章
相关标签/搜索