Setting the style of UITableView section headers
The UITableViewHeaderFooterView
class implements a reusable view that can be placed at the top or bottom of a table section. You use headers and footers to display additional information for that section.
Availability: iOS (6.0 and later)
Example:
[[UILabel appearanceWhenContainedIn:[UITableViewHeaderFooterView class], nil] setColor:[UIColor whiteColor]];
This also works in iOS5+. It applies to all of the section headers and footers in the tableview and suited my needs.
- (void)viewDidLoad
{
[super viewDidLoad];
[[UILabel appearanceWhenContainedIn:[UITableViewHeaderFooterView class], nil] setFont:[UIFont fontWithName:@"MyFont" size:8]];
}
Dan
The actual easiest way
If you're not doing too much modification, for example just changing the font or colors:
- (void)tableView:(UITableView *)tableView willDisplayHeaderView:(UIView *)view forSection:(NSInteger)section
{
UITableViewHeaderFooterView *tableViewHeaderFooterView = (UITableViewHeaderFooterView *)view;
tableViewHeaderFooterView.textLabel.font = [UIFont fontWithName:@"HelveticaNeue-Light" size:12.0f];
tableViewHeaderFooterView.textLabel.textColor = [UIColor colorWithRed:0.27f green:0.27f blue:0.27f alpha:1.0f];
tableViewHeaderFooterView.contentView.backgroundColor = [UIColor colorWithRed:0.87f green:0.87f blue:0.87f alpha:1.0f];
}
You can modify the font size/color/etc by creating your own view for the section header using the method tableView:viewForHeaderInSection:
There's an example of this technique here