您应该创建一个具有四个 UILabel 子视图的标题视图。
像这样的东西:
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 30)];
// 4 * 69 (width of label) + 3 * 8 (distance between labels) = 300
UILabel *label1 = [[UILabel alloc] initWithFrame:CGRectMake(10, 4, 69, 22)];
label1.text = @"Date";
[headerView addSubview:label1];
UILabel *label2 = [[UILabel alloc] initWithFrame:CGRectMake(87, 4, 69, 22)];
label2.text = @"Dist";
[headerView addSubview:label2];
UILabel *label3 = [[UILabel alloc] initWithFrame:CGRectMake(164, 4, 69, 22)];
label3.text = @"Litres";
[headerView addSubview:label3];
UILabel *label4 = [[UILabel alloc] initWithFrame:CGRectMake(241, 4, 69, 22)];
label4.text = @"Cost($)";
[headerView addSubview:label4];
return headerView;
}
根据您的要求调整颜色、字体和框架。
这比依赖空格字符的宽度要干净得多。
如果您使用固定宽度的字体,您的方式将起作用,但我建议您反对它。
当您想将您的应用程序本地化为不同的语言时,计算空间的任务将成为一场噩梦。