iOS-UITableView 的 tableHeaderView 遮挡 cell 的问题

1. 理想状态下的 tableHeaderView(见下图):
iOS-UITableView 的 tableHeaderView 遮挡 cell 的问题_第1张图片
理想状态下的tableView.png
2. 但是有时候会出现这种情况(见下图):
iOS-UITableView 的 tableHeaderView 遮挡 cell 的问题_第2张图片
tableHeaderView遮挡住cell01.png
iOS-UITableView 的 tableHeaderView 遮挡 cell 的问题_第3张图片
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);

    }
iOS-UITableView 的 tableHeaderView 遮挡 cell 的问题_第4张图片
出现遮挡的代码.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);

    }
iOS-UITableView 的 tableHeaderView 遮挡 cell 的问题_第5张图片

你可能感兴趣的:(ios-tableView)