如何根据TableViewCell动态增加UITableView的高度?

时间:2017-12-08 04:46:49

标签: ios swift

如果我想根据单元格内容的变化更改UITableView的高度,即UITableViewCell的高度随着API响应每次都不同而增加? 请帮我找一个解决方案?

2 个答案:

答案 0 :(得分:2)

如果您在数组中收到回复,那么您可以通过在收到回复时重新加载表格视图tableView.reloadData()来增加数组计数的高度。

override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {

 if indexPath.section == 0 {
  switch indexPath.row {
  case 0:
    return 50
  case 1:
    return 60
  case 2:
    if array.count > 0{
      return (CGFloat(45* array.count))
    }else{
      return 0
    }
   default:
    return 0
   }
 }
}

答案 1 :(得分:1)

override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        let key = arrInfo[indexPath.row]["key"] as! String
        print("height for row key \(key)")
        if key == "CasinoInfo"{
            return 100  
        }
        else if key == "Ratings"{
            return 180
        }
        else if key == "Bonus"{
            return 120
        }
        else{
            return UITableViewAutomaticDimension
        }

        return 0
    }