iOS11下段头和段尾高度计算不正确的原因

iOS11中如果不实现tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? 和 tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? 这两个方法,那么tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat 和 tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat 这两个方法不会被调用

这是因为tableView.estimatedRowHeight、tableView.estimatedSectionHeaderHeight、tableView.estimatedSectionFooterHeight 三个高度的估算属性由默认的0变成了UITableViewAutomaticDimension,导致高度计算不对

解决方法是实现对应的方法 或者 把这三个属性设置为0

案例:


iOS11下段头和段尾高度计算不正确的原因_第1张图片
iOS11下段头和段尾高度计算不正确的原因_第2张图片

你可能感兴趣的:(iOS11下段头和段尾高度计算不正确的原因)