格式化UITableView标头

时间:2013-06-19 08:27:04

标签: uitableview

我正在为UITableViewController创建自定义标头。我正在创建的标题出现在当前标题下面而不是替换它。如何更改此设置以便更换默认值或至少将我的新标题放在顶部而不是在下面?

@interface RootViewController : UITableViewController <UITableViewDelegate, UITableViewDataSource> {
... 
}



@implementation RootViewController

 - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{

    return 40.0;

    }

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



  CGFloat height = [self tableView: tableView heightForHeaderInSection: section];

    UIView *header=[[UIView alloc]initWithFrame:CGRectMake(400,-10,300,height)];
    header.backgroundColor=[UIColor redColor];

    UILabel *headerLabel=[[UILabel alloc]initWithFrame:CGRectMake(0,0,300,30)];
    headerLabel.backgroundColor=[UIColor redColor];
    headerLabel.shadowColor = [UIColor blackColor];
    headerLabel.shadowOffset = CGSizeMake(0,1);
    headerLabel.textColor = [UIColor whiteColor]; 
   headerLabel.text=@"Select";

    [header addSubview:headerLabel];

    [headerLabel release];
    return header;
}

红色是我的自定义,不会替换蓝色标题。 enter image description here

2 个答案:

答案 0 :(得分:1)

“蓝色标题”是导航栏而不是tableview标题!

如果您不想要这个蓝色条,请选择您的导航控制器并将Top Bar设置为none; o)

Top Bar

答案 1 :(得分:0)

好吧它应该工作得很好。代码没有错误。你确定它不工作吗?