在使用tableView.tableHeaderView = tableHeaderView
时,可能会遇到遮挡cell的情况,而出现这种情况的原因则是tableHeaderView的高度没及时被正确的赋值,解决办法有以下几种
1. 如果是使用frame,先设置frame即可
tableHeaderView.frame = frame;
tableView.tableHeaderView = tableHeaderView
2. 如果是使用约束,则先强制刷新一下tableHeaderView即可
//tableHeaderView的高度需要由子视图撑起来
tableView.tableHeaderView = tableHeaderView
//这里只设置width约束即可
[tableHeaderView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(tableView);
}];
[tableHeaderView setNeedsLayout];
[tableHeaderView layoutIfNeeded];
//再重新赋值一次
tableView.tableHeaderView = tableHeaderView;