С помощью следующего кода:UITableView contentSize не обновляется после изменения размера tableHeaderView или tableFooterView
let tableView = ...
let oldSize = tableView.contentSize // header + all rows + footer
tableView.tableHeaderView.bounds.height -= 10
tableView.tableFooterView.bounds.height -= 10
вы бы увидели, что:
assert(tableView.contentSize != oldSize) // ERROR: assertion fails