我已经实现了一个自定义的viewForHeaderInSection,如下所示:
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
CGRect sectionFrame = CGRectMake(0, 0, tableView.bounds.size.width, 30.0f);
float xInset = 16.0;
RTUTableHeaderView
*headerView =
[[RTUTableHeaderView alloc] initWithFrame:sectionFrame
andBackgroundColor:[UIColor clearColor]
FontColor:[RTUColorHelper kSettingsTableCellFontColor]
andFontSize:18.f
withLabelFrame:CGRectMake(xInset, 10.f, sectionFrame.size.width - xInset, 20)];
headerView.label.text = [self tableView:tableView titleForHeaderInSection:section];
return headerView;
}
这会将标签向下推10分钟,以便它们更靠近相关部分。在iOS6中它看起来很好,但对于iOS7,第一部分标题中的标签比其他标题大约10分钟。如果我带走10pt偏移量,第一部分的标签位于headerView的顶部,而其他标签则在其标题框架中垂直居中。
如果它是一个错误,我可以为第0部分的值设置,但显然不是,并且想检查我没有忘记别的东西或做错了什么。
节标题都是相同的高度,heightForRowAtIndexPath返回44.f
答案 0 :(得分:1)
所以我设法解决这个问题的唯一方法是在第一个部分标题中添加一个偏移量:
if(section==0){
CGRect labelFrame = headerView.label.frame;
labelFrame.origin.y+=15.f;
[headerView.label setFrame:labelFrame];
}
如果有人有更好的想法,我很乐意听到他们的声音!