0

类似的问题:如何模仿 UITableView 的 UITableViewStylePlain 部分标题样式
没有完整的答案。BarrettJ's 很接近,但并不完全在那里。

图像似乎是最简单、最有效的方法,但我无法获得正确的尺寸/位置,即使我靠近,它在第一个和第二个标题中看起来仍然不同。(关于表格视图的顶部有什么不同吗?)

文字不是问题。我只需要一些东西来填充空间并且看起来与默认标题完全相同。

4

1 回答 1

1
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
    UIView *sectionHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width, tableView.sectionHeaderHeight)];
    sectionHeaderView.backgroundColor = [UIColor colorWithWhite:0 alpha:0];
    sectionHeaderView.userInteractionEnabled = YES;
    sectionHeaderView.tag = section;

    UIImageView *backgroundImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, -1, tableView.bounds.size.width, 23)];
    backgroundImageView.image = [UIImage imageNamed:@"header.png"];

    UILabel *headerLabel = [[UILabel alloc] initWithFrame:CGRectMake(12, 2, tableView.bounds.size.width-10, 18)];
    headerLabel.backgroundColor = [UIColor clearColor];
    headerLabel.textColor = [UIColor whiteColor];
    headerLabel.shadowColor = [UIColor darkGrayColor];
    headerLabel.shadowOffset = CGSizeMake(0, 1);
    headerLabel.font = [UIFont boldSystemFontOfSize:18];
    headerLabel.text = [self tableView:tableView titleForHeaderInSection:section];

    [sectionHeaderView addSubview:backgroundImageView];
    [sectionHeaderView addSubview:headerLabel];

    return sectionHeaderView;
}

修复。任何人都可以使用/修改它。

头文件.png

于 2012-07-03T19:39:04.020 回答