iOS tableView 拉不到底原因可能有:
- tableView 的frame 不对,这会导致 tableView 不能滑到最后一条,显示不完全
- tableView的 tableHeaderView、tableFooterView 的高度设置不正确导致的
解决方法:
- 对于第一个问题,把frame计算正确即可
- 第二个原因造成的问题,则要正确计算 tableHeaderView、tableFooterView的frame就能解决。
tableHeaderViwe 的 frame 一般都是固定的,但也有要动态计算高度的时候,如果一开始把头部视图的 frame 写死,之后再更新头部视图的高度,此时是不正确的。应该要重新设置 tableView 的 tableHeaderView ,才是正确的。在计算完动态的高度后,重新设置头部视图
// 关闭隐式动画,重新设置头部
CATransaction.begin()
CATransaction.setDisableActions(true)
tableView.beginUpdates()
tableView.tableHeaderView = header
tableView.endUpdates()
CATransaction.commit()