1. 理想状态下的 tableHeaderView(见下图):
理想状态下的tableView.png
2. 但是有时候会出现这种情况(见下图):
tableHeaderView遮挡住cell01.png
tableHeaderView遮挡住cell02.png
3. 出现问题的代码
#pragma mark - 设置tableHeaderView
- (void)setupTableHeaderView
{
UIView *view = [[UIView alloc] init];
view.backgroundColor = [UIColor greenColor];
// 设置 tableHeaderView
self.tableView.tableHeaderView = view;
// 设置 view 的 frame
view.frame = CGRectMake(0, 0, kScreenWidth, 90 * kScaleHeight);
}
出现遮挡的代码.png
4. 破解之道
#pragma mark - 设置tableHeaderView
- (void)setupTableHeaderView
{
UIView *view = [[UIView alloc] init];
view.backgroundColor = [UIColor greenColor];
// 设置 view 的 frame(将设置 frame 提到设置 tableHeaderView 之前)
view.frame = CGRectMake(0, 0, kScreenWidth, 90 * kScaleHeight);
// 设置 tableHeaderView
self.tableView.tableHeaderView = view;
// // 设置 view 的 frame
// view.frame = CGRectMake(0, 0, kScreenWidth, 90 * kScaleHeight);
}
解决之道.png