我正在使用iOS 5并在表格中动态生成单元格(每个3行2个部分)。每个部分都有一个标题,该标题也是使用titleForHeaderInSection
调用动态生成的。
我还将图像设置为表格的背景,使得部分标题的默认颜色难以阅读。我找不到通过Storyboard界面或以编程方式更改节标题(或shadow color
,font
,text size
等)颜色的方法!请帮忙!
答案 0 :(得分:37)
这也适用于iOS5 +。它适用于tableview中的所有部分页眉和页脚,适合我的需要。
- (void)viewDidLoad
{
[super viewDidLoad];
[[UILabel appearanceWhenContainedIn:[UITableViewHeaderFooterView class], nil] setFont:[UIFont fontWithName:@"MyFont" size:8]];
}
丹
答案 1 :(得分:19)
您可以使用方法tableView:viewForHeaderInSection:
答案 2 :(得分: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];
}
答案 3 :(得分:7)
UITableViewHeaderFooterView
类实现了一个可重用的视图,可以放在表格部分的顶部或底部。您可以使用页眉和页脚显示该部分的其他信息。
可用性:iOS(6.0及更高版本)
示例:
[[UILabel appearanceWhenContainedIn:[UITableViewHeaderFooterView class], nil] setColor:[UIColor whiteColor]];
答案 4 :(得分:0)
非常类似于
所使用的技术- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
您可以创建您提供的单元格原型的实例。如果您的单元格包含标签的插座,您可以在返回之前进行设置:
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger) section
{
SessionTableViewCell *cell;
cell = [tableView dequeueReusableCellWithIdentifier:@"SessionSectionHeader"];
if (cell == nil) {
cell = [[SessionTableViewCell alloc]
initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:@"SessionSectionHeader"];
}
cell.myLabel.text = myTitles[section];
return cell;
}
请注意,@“SessionSectionHeader”是我们的单元原型的故事板中的标识符。
HTH!