设置UITableView节标题的样式

Rus*_*ler 19 uitableview ios5 xcode4.2

我正在使用iOS 5并在表格中动态生成单元格(每个3行的2个部分).每个部分都有一个标题,也可以使用该titleForHeaderInSection调用动态生成.

我还有一个图像集作为表格的背景,使得部分标题的默认颜色难以阅读.我还没有找到一种方法来改变区段头的颜色(或者shadow color,font,text size,等为此事)或者通过故事板界面或者通过编程!请帮忙!

Dan*_*wer 37

这也适用于iOS5 +.它适用于tableview中的所有节头和页脚,适合我的需要.

- (void)viewDidLoad
{
    [super viewDidLoad];

    [[UILabel appearanceWhenContainedIn:[UITableViewHeaderFooterView class], nil] setFont:[UIFont fontWithName:@"MyFont" size:8]];
}
Run Code Online (Sandbox Code Playgroud)


jon*_*oll 19

您可以使用该方法为节标题创建自己的视图来修改字体大小/颜色/等 tableView:viewForHeaderInSection:

这里有一个这种技术的例子


Cam*_*mer 11

实际上最简单的方法

如果您没有做太多修改,例如只更改字体或颜色:

- (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];
}
Run Code Online (Sandbox Code Playgroud)


mag*_*fdl 7

UITableViewHeaderFooterView类实现,可以放置在表部分的顶部或底部可重复使用的图.您使用页眉和页脚显示该部分的其他信息.

可用性:iOS(6.0及更高版本)

例:

[[UILabel appearanceWhenContainedIn:[UITableViewHeaderFooterView class], nil] setColor:[UIColor whiteColor]];
Run Code Online (Sandbox Code Playgroud)

  • 我更喜欢这个解决方案比接受的解决方案更多,因为如果您只想更改背景颜色或文本颜色,您不必担心激活"重建"标题视图.如果使用`setTextColor`,它可以在iOS 7中运行.但是如果你想自定义视图而不仅仅是交换一些颜色,那么使用全新的视图 - 正如接受的答案所暗示的那样 - 可能是最好的方式. (2认同)