heightForHeaderInSection没有被调用?

时间:2012-01-12 17:19:09

标签: ios uitableview

我想更改tableHeader身高,字体等......

我实施了UITableViewDelegateUITableViewDataSource并添加了heightForHeaderInSectionviewForHeaderInSection。但是这两种方法都没有被调用。其他方法(如numberOfRowsInSection / cellForRowAtIndexPath)工作正常。我可以看到表但没有标题:(

有什么想法吗?

这是代码:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return [self.poHeader.itemList count];
}

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    NSLog(@"numberOfSectionsInTableView");
    return 1;
}

-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
    NSLog(@"*******height");
    return 44.0;
}


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

    NSLog(@"***in viewForHeader In section");

    UIView* customView = [[UIView alloc] initWithFrame:CGRectMake(2, 166, 300.0, 44.0)];
    UILabel * headerLabel = [[UILabel alloc] initWithFrame:CGRectZero];
    headerLabel.backgroundColor = [UIColor clearColor];
    headerLabel.opaque = NO;
    headerLabel.textColor = [UIColor blackColor];
    headerLabel.highlightedTextColor = [UIColor whiteColor];
    headerLabel.font = [UIFont systemFontOfSize:13];
    headerLabel.frame = CGRectMake(2, 166, 300.0, 44.0);

    headerLabel.text = @"Part No.   Description   Ext Cost"; // i.e. array element
    [customView addSubview:headerLabel];

    return customView;
}

2 个答案:

答案 0 :(得分:17)

差不多一年之后,但我想你只设置了数据源而不是代理人?

你必须在你的控制器中有这样的东西:

myTableview.delegate = self;
myTableview.dataSource = self;

您提到调用了numberOfRowsInSection / cellForRowAtIndexPath。两者都属于UITableViewDataSource而不属于UITableViewDelegate

答案 1 :(得分:0)

除了设置委托外还可以快速 声明相关类或扩展的UITableViewDelegate符合性

相关问题