UITableviewCell卡住滚动,但动态设置高度为零

时间:2018-06-30 08:41:26

标签: ios swift uitableview

我有一个JSON对象,其中一个键是interface_id,我想相应地设置Cell高度,当我尝试将高度设置为0时,在滚动时该tableView卡住了。

public func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat{
   if (dataArray[indexPath.row] as AnyObject).value(forKey: "interface_id") as! Int == 1{
     return 0
   }else{
    return UITableViewAutomaticDimension
  }
}

1 个答案:

答案 0 :(得分:0)

基本上,要使用自定义大小的单元格,请为UITableView设置一个估计的行高,并将rowHeight的值设置为UITableViewAutomaticDimension。因此更改代码行的单元格高度应如下所示。

func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
        return 44.0
    }

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
    if (dataArray[indexPath.row] as AnyObject).value(forKey: "interface_id") as! Int == 1{
        return 0
    }else{
        return UITableViewAutomaticDimension
    }
}