1。一个表可以有多个section,每个section都可以各有一个header and footer
2。<UITableViewDelegate> 可自定义视图内容(包括文本,图像等)作为页眉,页脚
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section //页眉视图
tableView:viewForFooterInSection: //页脚视图
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section //页眉高度
tableView:heightForFooterInSection: //页脚高度
p.s.
默认页眉,页脚 view.frame.orgin.x=0,不能更改
解决:将标题View置于容器View中,再将容器View作为最后的HeaderView/FooterView,再容器View中更改标题View的尺寸
- (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
UIView *headerView = nil;
if (section == 0){
UILabel *label = [[UILabel alloc] initWithFrame:CGRectZero];
label.text = @"section 1 Header";
label.backgroundColor = [UIColor clearColor];
[label sizeToFit];
label.frame = CGRectMake(label.frame.origin.x + 10.0f, 5.0f, label.frame.size.width, label.frame.size.height);
CGRect resultFrame = CGRectMake(0.0f, 0.0f, label.frame.size.width + 10.0f, label.frame.size.height+10.0f);
headerView = [[UIView alloc] initWithFrame:resultFrame];
[headerView addSubview:label];
}
return headerView;
}
3。<UITableViewDatasource> 可简单定义页眉,页脚的文本内容
- (NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section
tableView:titleForFooterInSection: