删除iOS中的UITableView部分背景颜色?

时间:2015-04-10 07:14:56

标签: ios objective-c iphone uitableview

我有一个包含7个部分的UITableView,我想删除现有的"浅灰色" UITableView部分的颜色(默认颜色)为"透明颜色"。

我尝试了这段代码但是它不起作用请帮助我。

代码

-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
    UIView *tempView=[[UIView alloc]initWithFrame:CGRectMake(0,200,300,244)];
    tempView.backgroundColor=[UIColor clearColor];

    UILabel *tempLabel=[[UILabel alloc]initWithFrame:CGRectMake(15,0,300,44)];
    tempLabel.backgroundColor=[UIColor clearColor];
    tempLabel.shadowColor = [UIColor blackColor];
    tempLabel.shadowOffset = CGSizeMake(0,2);
    tempLabel.textColor = [UIColor redColor]; //here you can change the text color of header.
    tempLabel.font = [UIFont fontWithName:@"Helvetica" size:14];
    tempLabel.font = [UIFont boldSystemFontOfSize:14];
    NSString *sectionName;
    switch (section)
    {
        case 0:
            sectionName = NSLocalizedString(@"Mobile Number", @"Mobile Number");
            break;
        case 1:
            sectionName = NSLocalizedString(@"Name", @"Name");
            break;
        case 2:
            sectionName = NSLocalizedString(@"Email", @"Email");
            break;
        case 3:
            sectionName = NSLocalizedString(@"Gender", @"Gender");
            break;
        case 4:
            sectionName = NSLocalizedString(@"Age", @"Age");
            break;
        case 5:
            sectionName = NSLocalizedString(@"Notes", @"Notes");
            break;
        case 6:
            sectionName = NSLocalizedString(@" Type", @" Type");
            break;
        default:
            break;
    }

    tempLabel.text=sectionName;

    [tempView addSubview:tempLabel];

    return tempView;
}

1 个答案:

答案 0 :(得分:0)

tableView:viewForHeaderInSection:的使用要求您也实施:

  • tableView:heightForHeaderInSection:。这应该为标题返回适当的non-zero height
  • 另外,请确保您没有实施tableView:titleForHeaderInSection:

您应该只使用其中一个(viewForHeader或     titleForHeader)。