如何自定义SectionHeader

时间:2013-06-19 20:35:00

标签: ios uitableview customization sectionheader

好吧,所以我是开发中的超级菜鸟,但我正在努力学习Xcode。我还有一件事要弄清楚如何更改SectionHeader(Color Font's Etc。)我正在使用嵌入在Container中的TableView。并且具体来说我的Section标题是字母A-Z,我试图使它们成为“Helvetica Neue UltraLight”字体和字体大小24.我将如何更改字体,字体大小和字体颜色。

此外,我正在尝试将章节标题的背景颜色更改为完全清除。

我正在使用Xcode 4.6.3为iOS 6.1构建应用程序。

1 个答案:

答案 0 :(得分:1)

覆盖tableView:viewForHeaderInSection:在你的UITableViewController中:

- (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
      UIFont *font = [UIFont fontWithName:@"Helvetica Neue UltraLight" size:24];
      UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10, 3, tableView.bounds.size.width - 10, 33)];
      label.font = font;
      label.textColor = [UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:0.75];
      label.backgroundColor = [UIColor clearColor];
      label.text = @"A";
      UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, TableView.bounds.size.width, 44)];
      [headerView addSubview:label];
      [headerView setBackgroundColor:[UIColor clearColor]];
      return headerView;
}

您需要根据章节标题中所需的文字适当调整帧高。使用NSString sizeWithFont:constrainedToSize:lineBreakMode:计算正确的高度值。