调整tableHeaderView或tableFooterView后,UITableView contentSize未更新

时间:2015-12-24 03:23:32

标签: ios uitableview uikit

使用以下代码:

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

2 个答案:

答案 0 :(得分:4)

诀窍是重新设置tableHeaderViewtableFooterView

let tableView = ...
let oldSize = tableView.contentSize // header + all rows + footer

tableView.tableHeaderView.bounds.height -= 10
tableView.tableHeaderView = tableView.tableHeaderView

tableView.tableFooterView.bounds.height -= 10
tableView.tableFooterView = tableView.tableFooterView

assert(tableView.contentSize != oldSize) // no error :)

答案 1 :(得分:1)

更新或设置表标题视图后,您应该致电tableview.reloadData