我希望最新的TableViewCell能够与TableView一样大,但是我希望每次创建新的旧单元格都能恢复正常大小。
我已经尝试过在HeightForRowAt函数中执行此操作,但是每个单元格都保持TableView大小。
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
var cellHeight: CGFloat = CGFloat()
for cell in tableView.visibleCells {
cellHeight = cell.bounds.height
}
let TableHeight = tableView.frame.height
if indexPath.row == arr.count - 1 {
return TableHeight
}else{
return cellHeight
}
}
创建单元后,是否有任何方法可以调整单元格的大小,或者其他解决问题的方法?
预先感谢
答案 0 :(得分:3)
只需尝试将常数设为正常的单元格高度
if indexPath.row == arr.count - 1 {
return TableHeight
}else{
return 40 // or whatever you want
}
如果您问自己为什么? 第一次,您的单元格高度将为零,最后一个将为 TableHeight
然后每次调用heightForRowAt方法时,单元格的高度将为= TableHeight ,最后一个高度也将为 TableHeight 。
因为您的for循环将从 visibleCells 返回最后一个单元格高度,并且您有一个可见的单元格"other cells not visibles height = zero"
,所以它将是 TableHeight