1.但願這個從UITableViewDelegate協議裏獲得的方法能夠對你有所幫助:app
-(UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { UIView *headerView = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width, 30)] autorelease]; if (section == integerRepresentingYourSectionOfInterest) [headerView setBackgroundColor:[UIColor redColor]]; else [headerView setBackgroundColor:[UIColor clearColor]]; return headerView; }
使用任何你喜歡UIColor代替[UIColor redColor]。你可能還但願調整headerView的尺寸。ui
2.這是改變文本顏色的方法:rest
UILabel *label = [[[UILabel alloc] initWithFrame:CGRectMake(10, 3, tableView.bounds.size.width - 10, 18)] autorelease]; label.text = @"Section Header Text Here"; label.textColor = [UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:0.75]; label.backgroundColor = [UIColor clearColor]; [headerView addSubview:label];
3.不要忘記從委託添加這段代碼,不然在某些狀況下視圖將被切斷或者出如今table後面,相對於視圖/標籤的高度。code
-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section { return 30; }
4.若是你想自定義header顏色,能夠這樣作:圖片
[[UITableViewHeaderFooterView appearance] setTintColor:[UIColor redColor]];
這個方法在iOS 6.0.以上都很好用。get
5.這是在標題視圖添加圖片的方法:it
-(UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { UIView *headerView = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width, 30)] autorelease]; UIImageView *headerImage = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"top-gery-bar.png"]] autorelease]; headerImage.frame = CGRectMake(0, 0, tableView.bounds.size.width, 30); [headerView addSubview:headerImage]; return headerView; }
6.若是你不想創建自定義視圖,你也能夠這樣改變顏色:io
-(void) tableView:(UITableView *)tableView willDisplayHeaderView:(UIView *)view forSection:(NSInteger)section { if ([view isKindOfClass: [UITableViewHeaderFooterView class]]) { UITableViewHeaderFooterView* castView = (UITableViewHeaderFooterView*) view; UIView* content = castView.contentView; UIColor* color = [UIColor colorWithWhite:0.85 alpha:1.]; // substitute your color here content.backgroundColor = color; } }
7.這個方法不涉及定義和建立自定義視圖。在iOS 6以上,你能夠經過如下方法輕鬆改變背景色和文本色:table
-(void)tableView:(UITableView *)tableView willDisplayHeaderView:(UIView *)view forSection:(NSInteger)section { // Background color view.tintColor = [UIColor blackColor]; // Text Color UITableViewHeaderFooterView *header = (UITableViewHeaderFooterView *)view; [header.textLabel setTextColor:[UIColor whiteColor]]; // Another way to set the background color // Note: does not preserve gradient effect of original header // header.contentView.backgroundColor = [UIColor blackColor]; }
注:經過UITableViewHeaderFooterView設置背景色的方法已經被廢棄了。請用contentView.backgroundColor代替。ast