代码之家  ›  专栏  ›  技术社区  ›  Eduard

UITableViewAutomaticDimension高度错误,仅在iPhone 5上

  •  0
  • Eduard  · 技术社区  · 6 年前

    自动计算tableview单元格的高度

    tableView.rowHeight = UITableViewAutomaticDimension
    tableView.estimatedRowHeight = UITableViewAutomaticDimension
    
    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat
    {
         return UITableViewAutomaticDimension
    }
    

    除iPhone 5外,它在所有设备上都非常有效。在实际设备和模拟器中尝试了此操作,结果相同:

    enter image description here

    你知道为什么吗?iOS 10.3.1版

    3 回复  |  直到 6 年前
        1
  •  2
  •   GaétanZ    6 年前

    tableView.estimatedRowHeight = UITableViewAutomaticDimension 仅在iOS 11上可用。

    改为使用实际值:

    if #available(iOS 11.0, *) {
        tableView.estimatedRowHeight = UITableViewAutomaticDimension
    } else {
        tableView.estimatedRowHeight = 200
    }
    
        2
  •  2
  •   bseh    6 年前

    估计的行高应该是单元格的平均高度。

        3
  •  1
  •   gEeKyMiNd    6 年前

    您必须设置估计行高的值,该值将是您的最小行高。 下面是一个例子。。。

    tableView.estimatedRowHeight=44;