UITableView标题中的标题未显示?

时间:2010-09-22 13:24:27

标签: ios uitableview

我使用此代码使用UITableView设置标题和背景颜色,但标题未显示?

- (NSString *)tableView:(UITableView *)aTableView titleForHeaderInSection:(NSInteger)section
{
    return @"Contents";
}

- (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
    UIView *headerView = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 30)] autorelease];
    [headerView setBackgroundColor:[UIColor brownColor]];
    [self.view sendSubviewToBack:headerView];

    return headerView;
}

请帮助......

2 个答案:

答案 0 :(得分:1)

如果我没记错,一旦您为viewForHeaderInSection返回了某些内容,titleForHeaderInSection中返回的值就不再使用了。在viewForHeaderInSection中将UILabel添加为headerView的子视图,并将文本设置为@"Contents"

答案 1 :(得分:0)

请将您的代码更改为此,并且只有您必须实现viewForHeaderInSection方法:

- (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{

    NSString *cellValue = @"";
    UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 30)] ;
    [headerView setBackgroundColor:[UIColor brownColor]];

    UILabel *lblContent = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, headerView.frame.size.width,  headerView.frame.size.height)];
    cellValue = [[arrSections objectAtIndex:0] valueForKey:@"CategoryName"];
    lblContent.text = cellValue;
    [headerView addSubview:lblContent];
    return headerView;
}