Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

iOS - table view - static cells (grouped) - change section header text color

Overview

I have an iOS project with a table view with the following specification:

  • static cells (content is not dynamically populated)
  • style is grouped

Question

  1. How can I change the text color of the section header of the static table view ?
like image 637
user1046037 Avatar asked Apr 19 '12 16:04

user1046037


1 Answers

You need to create your own header view:

implement within your tableview datasource/delegate

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
    NSString *sectionTitle = [self tableView:tableView titleForHeaderInSection:section];
    if (sectionTitle == nil) {
        return nil;
    }

    // Create label with section title
    UILabel *label = [[[UILabel alloc] init] autorelease];
    label.frame = CGRectMake(20, 6, 300, 30);
    label.backgroundColor = [UIColor clearColor];
    label.textColor = [UIColor colorWithHue:(136.0/360.0)  // Slightly bluish green
                                 saturation:1.0
                                 brightness:0.60
                                      alpha:1.0];
    label.shadowColor = [UIColor whiteColor];
    label.shadowOffset = CGSizeMake(0.0, 1.0);
    label.font = [UIFont boldSystemFontOfSize:16];
    label.text = sectionTitle;

    // Create header view and add label as a subview

    // you could also just return the label (instead of making a new view and adding the label as subview. With the view you have more flexibility to make a background color or different paddings
    UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width, SectionHeaderHeight)];
    [view autorelease];
    [view addSubview:label];

    return view;
}
like image 191
Jonas Schnelli Avatar answered Sep 18 '22 22:09

Jonas Schnelli