我有一个包含3个部分的自定义单元格(Sales Rep,Prize,Signed) (见下图)
我希望在我的tableView标题上有三个标题,但我只知道如何使用内置方法添加一个标题。有人能帮助我吗?
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
return @"My Title";
{
答案 0 :(得分:1)
您需要创建自己的视图以显示为部分标题,而不是让操作系统根据您想要的文本为您创建一个。这允许您完全自定义您希望包含在节标题中的内容。
您可以通过在委托方法中返回视图来执行此操作:
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
如果您希望每行拆分节标题,那么您需要有多个节。每个部分都有1个部分标题,因此如果你想要3个标题,那么你需要有3个部分。您可以通过表格告诉您所需的部分数量:
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
然后在提供节索引整数的委托方法中,使用它来区分节。如果他们提供索引路径,您可以通过indexPath.section
答案 1 :(得分:0)
-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
UIView *view = nil;
UIView *header = [[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.frame.size.width, 40)];
CGFloat x=0;
for (int i = 0;i<[list count];i++)
{
id val=[list objectAtIndex:i];
CGFloat val1=[val floatValue];
header.backgroundColor = [UIColor grayColor];
UILabel *newLabel = [[UILabel alloc] initWithFrame:CGRectMake(x, 0,107,40)];
newLabel.text=[NSString stringWithFormat:@"%@",list[i]];
newLabel.textAlignment = NSTextAlignmentCenter;
newLabel.backgroundColor = [UIColor greenColor];
newLabel.layer.borderColor = [UIColor whiteColor].CGColor;
newLabel.layer.borderWidth = 2;
[header addSubview:newLabel];
x=x+newLabel.frame.size.width;
}
return header;
}