UITableView的headerView和section的headerView

tableView的headerView是整个tableView的头部,使用[tableView reload]方法时,不会刷新tableView的headerView;
而section的headerView,是每个section都有的headerView,footerView。当我们使用[tableView reload]重新加载数据时,headerView和footerView上的数据也会跟着刷新。
1.tableView的headerView的加载方式,我们不用给headerView设置高度。
JobHunterHeaderView *headerView = [[NSBundle mainBundle]loadNibNamed:@”JobHunterHeaderView” owner:self options:nil]
    [0];
    self.resumeTableView.tableHeaderView = headerView;
2.section的headerView加载方式
 [self.resumeTableView registerNib:[UINib nibWithNibName:@”JobHunterHeaderView” bundle:[NSBundle mainBundle]] forHeaderFooterViewReuseIdentifier:@”JobHunterHeaderView”];
//我们需要返回一个section的headerView
-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
if (section == 0) {
_headerView = [tableView dequeueReusableHeaderFooterViewWithIdentifier:@”JobHunterHeaderView”];
[_headerView.headIcon setImageWithURL:[NSURL URLWithString:JudgeIsNull([UserInfoModel currentUser].HeadPhoto)] placeholderImage:IMAGE(@”head_portrait”)];
[_headerView.headIconBtn addTarget:self action:@selector(uploadHeaderImage) forControlEvents:UIControlEventTouchUpInside];
[_headerView.isOpenResumSwitch setDidChangeHandler:^(BOOL isOn){
NSLog(@”Smallest switch changed to %d”,isOn);
if (isOn) {
_headerView.isShowResume = YES;
DLog(@”公开简历”);
}else{
_headerView.isShowResume = NO;
DLog(@”不公开简历”);
}
}];
[_headerView.jobHuntBtn addTarget:self action:@selector(jobHUntAction:) forControlEvents:UIControlEventTouchUpInside];
[_headerView.changeJobBtn addTarget:self action:@selector(jobHUntAction:) forControlEvents:UIControlEventTouchUpInside];[_headerView.parttimeJobBtn addTarget:self action:@selector(jobHuntType:) forControlEvents:UIControlEventTouchUpInside];
[_headerView.fulltimeJobBtn addTarget:self action:@selector(jobHuntType:) forControlEvents:UIControlEventTouchUpInside];return _headerView;
}
return nil;

}
//并且设置section的headerView的高度
-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
if (section == 0) {
return 240;
}
return 1;
}

发表评论

电子邮件地址不会被公开。 必填项已用*标注