我们如何改变tableview头的字体?

我使用tabelView的一些背景颜色和风格进行分组。 部分标题中的文本不清楚,所以我需要修改文本的颜色,使标题文本应该是可见的。 我想知道我们可以更改标题文字的颜色和大小吗?

添加到terente的答案:

- (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { if (section == 0) { CGRect screenRect = [[UIScreen mainScreen] applicationFrame]; UIView* headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, screenRect.size.width, 44.0)]; //headerView.contentMode = UIViewContentModeScaleToFill; // Add the label UILabel *headerLabel = [[UILabel alloc] initWithFrame:CGRectMake(10.0, -5.0, 300.0, 90.0)]; headerLabel.backgroundColor = [UIColor clearColor]; headerLabel.opaque = NO; headerLabel.text = @"Header"; headerLabel.textColor = [UIColor blackColor]; headerLabel.highlightedTextColor = [UIColor blackColor]; //this is what you asked headerLabel.font = [UIFont boldSystemFontOfSize:17]; headerLabel.shadowColor = [UIColor clearColor]; headerLabel.shadowOffset = CGSizeMake(0.0, 1.0); headerLabel.numberOfLines = 0; headerLabel.textAlignment = UITextAlignmentCenter; [headerView addSubview: headerLabel]; [headerLabel release]; // Return the headerView return headerView; } else return nil; } 

您可以使用[UIFont fontWithName:@"<name of your font>" size:24.0]; 为其他字体

只是执行

 - (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section 

并返回您的自定义视图的标题。

编辑:

 - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { UIImageView *headerTitleView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, kSectionHeaderHeight)]; [headerTitleView setImage:sectionHeaderBackgroundImage]; UILabel *sectionTitleLabel = [[UILabel alloc] initWithFrame:CGRectMake((self.view.frame.size.width - 38) / 2, 5, 38, kSectionHeaderHeight - 10)]; sectionTitleLabel.textColor = [UIColor redColor]; sectionTitleLabel.backgroundColor = [UIColor clearColor]; sectionTitleLabel.textAlignment = UITextAlignmentCenter; sectionTitleLabel.text = @"A"; sectionTitleLabel.font = [UIFont fontWithName:@"yourFont" size:13]; [sectionTitleLabel setAdjustsFontSizeToFitWidth:YES]; [headerTitleView addSubview:sectionTitleLabel]; return headerTitleView; } 
 - (void) tableView : (UITableView*) tableView willDisplayHeaderView : (UIView*) view forSection : (NSInteger) section{ [((UITableViewHeaderFooterView) *view).textLabel setFont:(UIFont...)]; } 

您可以从其他表视图委托方法设置文本标签。

 - (void)tableView:(UITableView *)tableView willDisplayHeaderView:(UIView *)view forSection:(NSInteger)section { [((UITableViewHeaderFooterView *) view).textLabel setFont:[UIFont fontWithName:@"Your-Font-Name" size:((UITableViewHeaderFooterView *) view).textLabel.font.pointSize]]; } 

笔记:

  • 这将设置字体为自定义字体,但保持pointSize相同。
  • 也适用于willDisplayFooterView
  • 不要忘记将Your-Font-Name更改为您的字体。
 - (void)tableView:(UITableView *)tableView willDisplayHeaderView:(UIView *)view forSection:(NSInteger)section { if ([view isKindOfClass:[UITableViewHeaderFooterView class]]) { UITableViewHeaderFooterView *headerView = (UITableViewHeaderFooterView*)view; [headerView.textLabel setFont:[UIFont fontWithName:@"Gotham Book" size:16.0f]]; }} 

我们可以使用header.textlabel对象来更改该标签的其他“UILabel”属性。